请问单片机串行口同信中,若从上位机向单片机发送一字符串,单片机如何接收SBUF中的数据呢,是用一个 20
请问单片机串行口同信中,若从上位机向单片机发送一字符串,单片机如何接收SBUF中的数据呢,是用一个字符数组去接收吗,并且接收后的数据如何赋给一个整型变量。谢谢...
请问单片机串行口同信中,若从上位机向单片机发送一字符串,单片机如何接收SBUF中的数据呢,是用一个字符数组去接收吗,并且接收后的数据如何赋给一个整型变量。谢谢
展开
4个回答
展开全部
单片机接收数据,无论是中断接收,还是查询接收,通常都是根据接收标志位,来判断接收一个字节。写程序之前,都会根据接收数据长度建立一个接收数组,比如根据协议,应该接收25个字节,那就建立一个大于等于25个字节的数组,根据判断条件(可以根据长度判断,可以根据特定字节判断),完成25个字节的接收后,再根据协议,对25个字节进行分析归纳,如果协议中有整形数据(8位机中整形变量为两个字节),就可以截取其中处于正确数组位置的两个字节,高字节先赋值给整形变量乘以256,或者直接左移8位,再加上低字节。就可以了。
展开全部
接收肯定是一个字节一个字节的接收,接收后如何处理数据要看上位机之间的协定,比如数据类型之类的。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单片机是接受一个字节,不是一个数组,正常使用 unsigned char型的变量类型。当RI为低电平时表示接受完成,直接用去读取SBUF寄存器里的数据,就是发送的数据了
如果要一次性发送多个,也是一个字节一个字节的接收。
如果要一次性发送多个,也是一个字节一个字节的接收。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是的,可以放入数组中
可接收完之后再分析
可接收完之后再分析
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询