串口通信怎么一次接收多个字符
答案:2 悬赏:70 手机版
解决时间 2021-03-01 08:30
- 提问者网友:伴风望海
- 2021-02-28 14:01
串口通信怎么一次接收多个字符
最佳答案
- 五星知识达人网友:酒安江南
- 2021-02-28 15:10
1)请问两串字符长度一样吗。2)串口一旦使用控件的Input属性,到达接收缓冲区的数据本身就自动清除的。Input 属性返回并删除接收缓冲区中的数据流。该属性在设计时无效,在运行时为只读。
全部回答
- 1楼网友:独行浪子会拥风
- 2021-02-28 16:31
每接收一个字符,单片机就会uart中断,在中断过程中,你把读取的那个sbuf字符,全部赋值给rxddata数组,比如你读取到的字符是0x01,那rxddata[0]-rxddata[3]均为0x01。由于你发送的是2835,当接收到2时,rxddata[0]-rxddata[3]均为2,当接收到8时rxddata[0]-rxddata[3]均为8,这也就是为什么他们都只显示四个数字的最后一位。
解决思路:
由于你发送的是四个数字,定义一个计数的全局变量count,以及缓冲数组rxddata_buffer[],每接收一个字符,会进入中断,则rxddata_buffer[count]=sbuf;同时count自加1;当四个字符全接收完时,count的值为4,则此时在main函数中将count清0,同时将rxddata_buffer[]的全部值赋给rxddata[]。main函数中再通过调用rxddata[],实现数码管的显示。
好了,大致思路是这样,请采纳,点赞,给分。。。。。。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯