Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Difference between 877 and 877A?

Status
Not open for further replies.

liupengjian

New Member
Hi, Now I am writing a C for 16F877A to communicate witch COM1 of my PC (PC side I use VB) , every thing is oK, but when I changed the chip to 16F877, with the same C program code, 877 I always got a synchronization error. I dont know why.

do {
sendPollPkt(i);
output_low(PIN_C5);
}while (gNewInfo == FALSE) //when newinfo comes do something else

//i represents the No. of PC need to be polled.
// i will set to 0 after reaching the max value.

but when there is an interrupt come in, the i automatically change to 0 for a while, then start to work normally again. (Actually, i should continuously increase)

So I want to know that whether the 877 and 877A got any timing or synchronization difference that effect my program?
Thanks
 
I can't help you with C, but you can download a migration datasheet from MicroChip, which shows the changes required from the 877 to the 877A. One obvious difference is the config fuses, have you altered those?.
 
Thanks for your advise, but I changed the fuses to other possible settings, I still got this error, However when the program runs several times, the synchronizing error disappears. Maybe some thing needs to be warm up, so funny.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top