stm32 串口数据问题

用串口发数据给stm32,开启了串口接收中断.数据处理在中断函数中stm32的串口的数据位设为8位.向单片机发送0XABC利用断点查看接收到的数据数据接收为0XAB再让发... 用串口发数据给stm32,开启了串口接收中断.数据处理在中断函数中
stm32的串口的数据位设为8位.
向单片机发送0XABC
利用断点查看接收到的数据
数据接收为0XAB 再让发送回来
收回0XAB. 8位以后的C被舍弃了
发送一个0xABCD
收到完整的0xABCD
格式为 AB CD
说明是将16为的数据分两次一次8位的发送回来.
QUESTION:
1.串口将第一次发送的C舍掉,为什么不把0xC补成0XC0发送回来
2.8位数据位的串口在接收高于8位的数据时是怎么处理的?
3.怎么样才能正常的一次性的接收所有数据.
展开
 我来答
王赵著
2013-08-12
知道答主
回答量:34
采纳率:0%
帮助的人:18.6万
展开全部
这是因为你发了16位数据,被理解为发送2次,即分2次发送完毕,所以格式为 AB CD,如果你发ABC系统默认从左到右,只能处理8位数据,即AB,C被舍弃了
追问
我要通过串口发送16位数据到单片机,在串口中断函数中把数据传给另一个函数.他分两次发送的话数据在第一次接收到头8位的时候就被传递出去了,而且后八位好像没有被传递到函数中.请指点一下如何完整的接收到数据
追答
用数组
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式