Hi, I'm working on DMX-512 receiving code with the PIC16F874 using the built in USART. DMX uses a break to start a new packet. It is supposed to be 88uS (2 frame times @250Kbps), and the recommended practice says that receivers should detect on slightly less, like 70uS. So far I'm using the framing error flag to detect a break by making sure that all the data bits are low. I've been getting a bit of instability with this method. Is there a better way? Also, the PIC16F874 datasheet is confusing when it talks about how to read the error flag bits in the receiver. It says that the FERR flag gets buffered in the FIFO, but the block diagram wouldn't suggest that. Then it says to read the error flags before requesting a byte from the FIFO. If FERR flags are buffered in the FIFO wouldn't this mean that you'd be reading the wrong data unless you check the FERR bit after you get data from the FIFO? Can someone please explain this? Thanks, Andrew -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads