stc单片机串口测试程序,串口接收再发送问题

stc单片机串口测试程序,串口接收再发送问题,第1张

……你自己把逻辑锁死了。收到一回4字节序列后,flag1置位,之后发送数据。可是在发送数据的时候又会进入中断的,由于接收缓冲区中还是那4字节的序列,于是flag1再次被置位……于是乎进入永不停歇的死循环。

你的串口中断应当判断一下是发送还是接收……

一组数据,共有多少字节? 20 个?

根据字节数,设定一个数组。

收到一个,存放一个。

收到 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


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8161898.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存