Hello mjcoury,
Do you actually get over-run errors? Does the problem persist if you reduce the baud rate? This may be the penalty of using such a high baud rate - if interrupts are disabled for more than about 80 microseconds there would be a problem. I assume that the execution time of one or more ISRs may exceed this value.
I also notice that the SCI interrupts are of relatively low priority. It might be feasible to examine the state of the SCI receive flag at the beginning of other ISRs, to give higher priority to the received SCI data - provided this is not detremental to these ISRs.
On the issue of hardware flow control, is the CTS output signal actually implemented on your board? Not sure about the reason for your compile errors. Why not post the section of code where you have the problem.
Regards,
Mac
Message Edited by bigmac on 2006-06-07 11:25 AM
Hello Mike,
When the Zigbee receives data, which interrupt is used? Is the SPI master transaction under SPI interrupt control? I think that this shouldn't be necessary for a master, especially if a fast SPI clock rate is used.
I was assuming that interrupts would be disabled only during the actual ISR processes. If they are being disabled outside of an ISR, this might be the problem. I might be wary of them remaining disabled while multiple bytes to or from the Zigbee are processed.
Your reference to receiving messages of 40 to 60 characters - I assume you mean from the SCI, rather than the Zigbee. At your SCI baud rate, 40 characters would take about 3.5 milliseconds.
The drivers.c file should compile on its own provided any (non-standard) header files referenced are also available. My understanding is that you have a compiler problem, rather than a linker one.
Regards,
Mac