中易网

请问单片机串行口同信中,若从上位机向单片机发送一字符串,单片机如何接收SBUF中的数据呢,是用一个

答案:4  悬赏:0  
解决时间 2021-02-16 05:44
请问单片机串行口同信中,若从上位机向单片机发送一字符串,单片机如何接收SBUF中的数据呢,是用一个
最佳答案
单片机接收数据,无论是中断接收,还是查询接收,通常都是根据接收标志位,来判断接收一个字节。写程序之前,都会根据接收数据长度建立一个接收数组,比如根据协议,应该接收25个字节,那就建立一个大于等于25个字节的数组,根据判断条件(可以根据长度判断,可以根据特定字节判断),完成25个字节的接收后,再根据协议,对25个字节进行分析归纳,如果协议中有整形数据(8位机中整形变量为两个字节),就可以截取其中处于正确数组位置的两个字节,高字节先赋值给整形变量乘以256,或者直接左移8位,再加上低字节。就可以了。
全部回答
铁道公司躺枪啦 char a[10] = {‘1’, ‘2’, ‘3’, ‘0’, ‘6’, '\0'}; char i; int x = 0x0000; for(i=0;a[i];i++) { x = x * 10 + (a[i] - '0');// 自己去查ascii码表不解释 }
单片机是接受一个字节,不是一个数组,正常使用 unsigned char型的变量类型。当RI为低电平时表示接受完成,直接用去读取SBUF寄存器里的数据,就是发送的数据了 如果要一次性发送多个,也是一个字节一个字节的接收。
接收肯定是一个字节一个字节的接收,接收后如何处理数据要看上位机之间的协定,比如数据类型之类的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
UG里用什么工具检查破面
144×192px跟150×200px这两个像素哪个大
科鲁兹2010款二手车多少钱1,6手动跑了五万多
ps用完以后桌面出现ScriptingListenerJS和Scr
万能管业在什么地方啊,我要过去处理事情
妈妈一共买了13个苹果和梨,猜猜梨最少买了(
网上卖充气娃娃的是真是假,可靠吗
龙华富士康现在招男女普工吗
星文酒店地址有知道的么?有点事想过去
英特尔8700能玩游戏吗
请问这是崖柏吗?
逆变器输出电源不是准正弦波
对于上幼儿园的孩子,家长给予什么样的爱是适
像积木一样的东西可以用来组装成飞机还可以飞
听音乐的耳机越好是不是玩游戏听脚步也越好
推荐资讯
广发银行atm地址有知道的么?有点事想过去
三星note3怎么用浮窗预览
这个配置为啥有时候还会很卡啊?求大神给建议
彩球滑梯最高纪录
诗织女装是品牌吗
我托中介找个商铺 为什么中介会用各种话术让
花生软糖做法
小斌斌副食在哪里啊,我有事要去这个地方
有时候在家喝绿茶上厕所就频繁有时候没怎么喝
亚洲北冰洋沿岸地带的景观特点是
本色酒吧(华侨城店)怎么去啊,我要去那办事
上联:妈妈骑马 马慢妈妈骂马;下联?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?