USART串口发送16进制 问题(新人)

2019-08-14 06:25发布

      测试串口发送16进制数的时候,发现当调用USART_SendData函数的时候,发送十进制范围在0-127之间的16进制数时串口助手显示数据正常,但发送十进制范围大于127的16进制数时,串口助手显示的数据错误,也就是说16进制数在0x01-0x7f发送没问题,但在0x80-0xff发送出现问题,串口初始化波特率之类的配置都没有问题。新人求教应该在哪方面出的问题,希望各位大大耐心解答,谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
25条回答
wxjhby
1楼-- · 2019-08-16 12:59
本帖最后由 wxjhby 于 2017-8-23 13:25 编辑

我是问你直接用战舰的程序会不会出现这个问题? 不要去动他的程序的,不然你怎么知道是硬件还是程序还是上位机的原因?直接下载战舰程序,如果没问题那么是你写的程序有问题,再找原因,好不好  temp的类型 改为u8
honglang2222
2楼-- · 2019-08-16 17:28
MKGilchrist 发表于 2017-8-23 13:22
能否把GPIO_PinAFConfig函数截图给我看一下,谢了哈,我库中没有这个函数

这个
wxjhby
3楼-- · 2019-08-16 20:22
 精彩回答 2  元偷偷看……
liujm
4楼-- · 2019-08-17 01:50
你把temp变量的类型定义成 uint8_t试一下
jiutianshenjian
5楼-- · 2019-08-17 02:33
本帖最后由 jiutianshenjian 于 2017-8-23 16:06 编辑

用好的程序试试,先确定是不是你的程序问题。还有,初始化的时候,先把TC Flag标志清除下。
cromarti
6楼-- · 2019-08-17 02:41
多发几个字节看看是不是只有第一个字符有问题,有的话就是寄存器初始化后没清零。推荐如果条件可以的话先用keil的调试看看usart1的dr数据对不对,然后再用逻辑分析仪看看串口引脚,这样子定位问题快。不过个人有次出类似问题是因为时钟配置错了,你可以看看

一周热门 更多>