This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Not storing the data from SBUF

Hi MCU is recieving the data from other MCU& i am unable to store the data using SBUF..so pls help me.. only the last byte is receiving again & again...

thanks

here my source code

p = 0; for(i1=0;i1<448;i1++) ser_buf[i1]=SBUF;

for(i2=0;i2<8;i2++) { for(i1=0;i1<48;i1++) prt_buf[i1] = 0; for(i1 = 0;i1<48;i1++) prt_buf[i1] =ser_buf[p++];

print_graph();

}

Parents
  • "yes. a very good way to make sure that you receive fast enough is the the recieve baud rate faster than the transmit baud rate."

    Not at all - the receiver should try to match the baudrate of the transmitter as much as possible, since the A in UART stands for "asynchronous". So the receiver counts time to figure out where to sample the data signal to extract the individual bits. It obviously must counts time in the same way that the transmitter did, or it will greatly fail to separate the individual bits in a transmitted character.

    It's just that the baudrate controls how long time it takes for a UART to perform a transfer of a full character - so the fastest possible time from reception of one character until the next character may be available to pick up from the data register of the receiving UART (if the transmitter manages to start the next transmission instantly when the previous character was sent).

Reply
  • "yes. a very good way to make sure that you receive fast enough is the the recieve baud rate faster than the transmit baud rate."

    Not at all - the receiver should try to match the baudrate of the transmitter as much as possible, since the A in UART stands for "asynchronous". So the receiver counts time to figure out where to sample the data signal to extract the individual bits. It obviously must counts time in the same way that the transmitter did, or it will greatly fail to separate the individual bits in a transmitted character.

    It's just that the baudrate controls how long time it takes for a UART to perform a transfer of a full character - so the fastest possible time from reception of one character until the next character may be available to pick up from the data register of the receiving UART (if the transmitter manages to start the next transmission instantly when the previous character was sent).

Children