2010-10-28 04:55 PM
Triggering timers - AN3109
2011-05-17 05:13 AM
Set up a timer interrupt for (say 1ms). Declare three variables, one for each serial channel. Each time you receive a character, reset the associated variable to (say 50). Each time the timer interrupts, decrement all three variables (down to zero but not below).
If any one of the variables gets to zero, then that channel has a break in transmisssion. Set a flag (keep interrupt handlers as small and fast as possible). You can choose timer interrupt rate and char received reload values to suit your system. Does that sound workable?