View previous topic :: View next topic |
Author |
Message |
jseidmann
Joined: 04 Nov 2004 Posts: 67
|
Bus Collission interrupt question |
Posted: Tue Nov 09, 2004 1:30 pm |
|
|
Does someone have a good explanation of what the #INT_BUSCOL (bus collission interrupt) does? I'm using my PIC to handle RS485 communication and at times multiple boards think that they're being enabled causing them all to talk on the bus (although i cant find in the code how this happens). Does the interrupt go up when it thinks that multiple units are communicating over the same bus? Also, what is a good way to use this interrupt (like do any of you have examples?). If any of you could help me out, it would be greatly appreciated.
Jon |
|
|
Mark
Joined: 07 Sep 2003 Posts: 2838 Location: Atlanta, GA
|
|
Posted: Tue Nov 09, 2004 2:30 pm |
|
|
Bus Collision interrupt is for the I2C and not the UART so it can't be used in you case. If you still want to know what it is and how it works, look in the datasheet under the mssp section.
Since you haven't posted any code, it is nearly impossible to say why your devices are all talking. If they only speak when spoken to, then they probably think they are being addressed. How are these devices addressed. What sort of message error checking are you doing?...... |
|
|
jseidmann
Joined: 04 Nov 2004 Posts: 67
|
|
Posted: Tue Nov 09, 2004 2:35 pm |
|
|
the master addresses the nodes by sending an 'N#" command where # is the number and each board has a unique number. We find however that when the CPU is slightly overtaxed this problem occurs. I'm trying to lighten up the load on the CPU and see if this helps. |
|
|
Mark
Joined: 07 Sep 2003 Posts: 2838 Location: Atlanta, GA
|
|
Posted: Tue Nov 09, 2004 2:42 pm |
|
|
That can leave lots of room for errors. Not sure what the devices respond back with but their data might be interpreted as another device being addressed. |
|
|
|