Danjel, This sounds like a great solution. If I understand you, then you would use the timer to generate the interrupt and just change the value that's loaded in the timer depending on the mode you're in i.e. at 9600 baud Wait for start bit mode. clear timer ( set to 256 counts) check pin when timer overflows and triggers interrupt Sample signal mode. set timer to 152 check pin when timer overflows I will try to implement it now. Thanks a bunch !!! P.S. Is there anything I need to do when I put a value into the timer? I know I need to clear the interrupt flag before exiting the ISR. On Thursday, March 12, 1998 1:28 PM, Danjel McGougan [SMTP:danmc458@STUDENT.LIU.SE] wrote: > > and generate another interrupt at which time I can check the data > > line again to get the bit in. Then reset the timer with another > > value.. etc... Is it possible to have one interrupt more or less > > inside another interrupt? If so is there anything special that > > needs > > to be done? > > Thanks for your time! > > James > > > > The normal way to do interrupt driven RS232 reception is to have a > periodical interrupt running at 2 or 3 times the baud rate. The > interrupt samples the RX line and as soon as the start bit is > detected the interrupt changes the period to 1.25 resp. 4/3 of the > baud period. The interrupt can now sample the first databit and > change the period to the baud rate, and sample the rest of the > databits. After the last databit is sampled, change back to 2 or 3 > times the baud rate and wait for the next databit. > > Regards, > Danjel McGougan.