On Tue, 19 Mar 2013 09:08:26 -0700 (PDT) yamanoor sairam wrote: > The data is transferred properly only at speeds upto 250K baud rate. It r= esults in error beyond that point. The Atmega 328 datasheet specifies that = it possible to transfer at speeds upto 2M baud rate. The ring buffer size i= s about 400 bytes and I am looking for some suggestions to achieve higher b= aud rates while maintaining the data integrity. I don't know the 328 very well, but at 20 MIPS, I and guessing your code is= slowing the transfer. Counting the interrupt latency + subroutine call/execution/re= turn +=20 interrupt return, I think it is easy to get to more than 20 instruction cyc= les which=20 would correspond to 1M baud rate. I am suspecting that the 2M rate specified is for the hardware, and you mig= ht get there with a non-interrupt, very tight loop in assembler. John --=20 http://www.piclist.com/techref/piclist PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .