Hello all:
The problem is that: serial port communication (UART) can result in ACK TIME
OUT in the presence of MSP430 timer fire interrupt. I suspect that the
interrupt from TimerB5 Compare (which is micro-second I believe) has
contention with the interrupt from UART.
I did use the same mechanism for Timer design in TinyOS-1, it worked with
the UART fine. But the problem came up when I worked with TinyOS-2, using
the same mechanism.
How to solve this contention in TinyOS-2?
Thank you for any of your inputs.
Here is my msp430 timer fire related codes.
MyRTC component wiring looks like as following:
RealTimeP.Msp430Timer -> Msp430TimerC.TimerB;
RealTimeP.Msp430Compare -> Msp430TimerC.CompareB5;
RealTimeP.Msp430TimerControl -> Msp430TimerC.ControlB5;
During the boot.booted():
event void Boot.booted()
{
call Msp430TimerControl.disableEvents(); // disable compare interrupt
call Msp430TimerControl.setControlAsCompare(); // set timerB5 as
compare mode
call Msp430Compare.setEventFromNow(66);
call Msp430TimerControl.clearPendingInterrupt();
call Msp430TimerControl.enableEvents();
}
Every timer Msp430Compare interrup:
async event void Msp430Compare.fired() {
call Msp430Compare.setEventFromNow(66);
//this interrupt will cause the UART interrupt missed
...
}
Bests,
--
---------------------------------
Mingsen Xu
Sensorweb Research Laboratory
Washington State University
_______________________________________________
Tinyos-help mailing list
[email protected]
https://www.millennium.berkeley.edu/cgi-bin/mailman/listinfo/tinyos-help