![]() | ![]() | ![]() |
| |||||||
| Micro Controllers Discuss all aspects of micro controllers - building them, coding them, etc. All controllers are welcome - PIC, BASIC, Z8 Encore!, etc. |
![]() |
| | Tools |
| | #1 |
|
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 | |
| |
| | #2 |
|
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?.
| |
| |
| | #3 |
|
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.
| |
| |
|
| Tags |
| 877, 877a, difference |
| Thread Tools | |
| Display Modes | |
| |