stm32 用USART上传遇到的问题 求助!

2019-08-18 18:38发布

举一个小例子,我设置了一个vu32 a; 然后就用USART_SendData();这个函数上传a=500到510 ,但是上传到串口助手里面是F4-FD,但应该是1F4-1FD,第三位数没有了,这是为什么?我看USART_SendData()这个函数的定义void USART_SendData(USART_TypeDef* USARTx, uint16_t Data),后面是uint16_t Data,而我定义的a 是vu32,是不是这个原因?求大神解决

还有一个问题,为什么用printf上传的就是10进制数,用上面这个函数 上传的就是16进制的数呢?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
wangxu1902
1楼-- · 2019-08-18 23:14
yklstudent 发表于 2017-5-26 14:58
USART_SendData,这个只能发8位字节数据,去研究研究好低层,

也就是说,这个函数通过2进制发送八位字节,只能发送16进制的前两位数吗?那应该怎么去发送32位的数呢?
Sun_Fly
2楼-- · 2019-08-19 02:17
一次性只能发一个字节,这就有了大端模式和小端模式,自己定义,超过255就要分开了发送了
wangxu1902
3楼-- · 2019-08-19 05:24
 精彩回答 2  元偷偷看……
Sun_Fly
4楼-- · 2019-08-19 07:49
wangxu1902 发表于 2017-5-26 15:28
那请问超过255如何分开发送呢?分开发送怎么再结合?     可不可以一次性发送?

你没有解析过别人的协议吗?网上随便找个传输协议去解析看看
wangxu1902
5楼-- · 2019-08-19 10:21
Sun_Fly 发表于 2017-5-26 16:12
你没有解析过别人的协议吗?网上随便找个传输协议去解析看看

还真没有看过别人的
wangxu1902
6楼-- · 2019-08-19 14:35
没人来嘛

一周热门 更多>