Many thanks for the ideas, all. I've done some tests which point towards the RS485/USB converter rather than anything in the code: 1. The MAX3080E is wired as full duplex, and DE is controlled by software and set high prior to transmitting. 2. I changed the code to something like this: [code] for(i=0;i<200;i++) { putintdec(i); putch('-'); } [/code] and received the full string of all 200 numbers. Same when running the 'for' loop from 0 to 100. However when running from 0 to 50, 0 to 25 and 0 to 15, the first six to twelve numbers weren't received. 3. I looked into the USB device and found it had a DIP switch which let me choose "RS-422 mode: 4-wire with handshaking" which seemed to clear the problem up. So it looks as though it was a handshaking problem in the end. Many thanks again. Jamie -- View this message in context: http://www.nabble.com/EUSART%2C-%2718F4550%2C-Continuous-stream-of-bytes-transmits%2C-but-single-bytes-don%27t...-tp20326923p20379175.html Sent from the PIC - [PIC] mailing list archive at Nabble.com. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist