本人初学,打算用单片机接受从串口调试助手发来的数据,但是每次只能接收到一位的数据,请问高手,如何能把所有的数值从缓冲区完整的取出来呢?比如:我在串口调试助手中发送“2932”,单片机如何能把这个数值按照10进制接受到一个变量中。另外,能否详细介绍下,单片机串口初始化的具体操作,谢谢,大侠指点。
谢谢大家的指点,后来突然想起从串口发过来的数据确是16位的,如果按照我们平常的计算方法是不能得到相应的结果的,我修改了我的程序变成:
while(1)
{
while(RI==0){}; //等待接收完毕
RI=0; //清除接收标志
rcvdata=SBUF;//接收数据
P1=rcvdata%16;
pp=pp*10+P1;
}
这样可以得到一个相应数位的数据。
谢谢大家参与讨论。