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.
Cookies are required to use this site. You must accept them to continue using the site. Learn more…