On Tue, 2013-03-19 at 09:08 -0700, yamanoor sairam wrote: > I am trying to transfer 256 bytes of at data 1M baud rate from my PC to a= n Atmega328 microcontroller. I am using checksum to verify the integrity of= the data and I am emptying the received data into a ring buffer as quickly= as possible. This is all I have in my interrupt subroutine: > temp =3D UDR0; > BufferWrite(&rx_buffer,&temp);=20 > 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. Are you trying to do this over RS232? If so I don't think you'll be able to get it to work, 250k is about as fast as you should expect RS232 to go. I believe you need a different interface to the PC if you really need 1Mbps speeds. TTYL --=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 .