??? 08/26/10 06:00 Read: times |
#178327 - Errors gone Responding to: ???'s previous message |
Hi,
Thanks for the feedback and support. The final changes I made in the code were: a) Fixed the baud rate to 7812; b) Changed the Priority of Interrupts, which is as shown in code below: sfr IPH = 0xB7;/*8052 Special Register*/ void main(void) { /*Initialisations go here*/ /*Fixing high priority to Serial Interrupt*/ IP = 0x10; IPH = 0x10; EA = 1;/*Enable interrupts*/ while(1) { /*Superloop code*/ } } With this modification in code, the system is running absolutely fine with no error generation( The error when a slave does not respond or a slave fails to send end of data byte) Afterwards, we increased the baud rate to 31250 to check the possibility of error generation(if any). After 12 hours of system running idle, we found that a slave failed to respond, and the system gave a total restart command. This happened 3 times between 12 to 18 hours duration. Q. Can we implement this Interrupt priority change at slave end also? |