根据字节数,设定一个数组。
收到一个,存放一个。
收没大到 20 个后,判断:
if (recbuf[16] == 'm' &&recbuf[17] == 'b' &&recbuf[18] == 'a' &&recbuf[19] == 'r')
满足条件,就把其历橡前面的,变换枯烂竖成数:
//recbuf[1] = '.'
x = (recbuf[0] - 48) + (recbuf[2] - 48) * 0.1 + (recbuf[3] - 48) * 0.01
//recbuf[4] = ' ' //recbuf[7] = '.'
n = (recbuf[5] - 48) * 10 + (recbuf[6] - 48) + (recbuf[8] - 48) * 0.1
//recbuf[9] = ' ' //recbuf[13] = '.'
p = (recbuf[10] - 48) * 100 + (recbuf[11] - 48) * 10 + (recbuf[12] - 48)
+ (recbuf[14] - 48) * 0.1 + (recbuf[15] - 48) * 0.01
void UartInit(void) //[email protected]{
PCON &= 0x7f //波特率不倍速
SCON = 0x50 //8位数据,可变波特率
AUXR |= 0x40 //定时器1时钟为Fosc,即1T
AUXR &= 0xfe //串口1选择定时器1为波特率发生器
TMOD &= 0x0f //清除定时器1模式位
TMOD |= 0x20 //设定定时器1为8位自动重装方式
TL1 = 0xDC //设定定时初值
TH1 = 0xDC //正蚂设定定时器迟空重装值
ET1 = 0 //禁止码清瞎定时器1中断
TR1 = 1 //启动定时器1
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)