Hello, I am using STMicroelectronics, ST10F269 evaluation board that works on Keil environment. I am trying establish communication between the board and the PC through RS232 serial interface. I am able to transmit a byte from board to PC and and receive a byte from PC to the board. But I am unable to receive a frame from PC to the board that has 1 start bit, 8 data bits and 1 stop bit. My application wants to receive a frame from the display device and process the commands and sends back a frame from board to the display. Receiving side is like a state machine, till it receives a valid frame, it will be in the while loop, keep checking for incoming characters. Once it receives a valid frame it sends an acknowldegement frame back to display. So the problem is when display sends a frame, board is able to receive only one byte, not the full frame. So could you please give me solution for this. Thanks & Regards, Naina
Oops - just noticed that it was a C166 question, not C51. Anyway, all this means is that the specifics of the interrupt-handling will be a little different; the ring-buffer principle remains exactly the same. I'm sure you can do your own search to see if there's a ready-made example in the C166 downloads area...
Keil for C166 includes example program Traffic. It contains an implementation of interrupt-driven ring-buffered serial I/O using RTX166 Tiny. - mike
RTX166 shouldn't be necessary for this - just look at the interrupt-driven ring-buffered serial I/O bit!