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

Reply via email to