你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32F407ig使用printf打印字符串的时候整体增加了40

[复制链接]
IIC_INIT 提问时间:2019-12-2 15:44 /
今天新建了一个工程文件,使用printf函数的时候,出现了一个问题
printf("123456\r\n");
然后串口助手显示的是qrstuv
如果将其转换为16进制的话,
发送的为31 32 33 34 35 36 0d 0a
接收的为71 72 73 74 75 76 0d 0a

代码

代码

串口

串口


收藏 评论12 发布时间:2019-12-2 15:44

举报

12个回答
IIC_INIT 回答时间:2019-12-2 15:54:04
下面是USART初始化的代码
usartconfig.PNG
gpio.PNG
init.PNG
nvic.PNG
fput.PNG

radio2radio 回答时间:2019-12-2 16:24:59
建议使用Cube自动生成的HAL代码。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

IIC_INIT 回答时间:2019-12-2 16:29:20
radio2radio 发表于 2019-12-2 16:24
建议使用Cube自动生成的HAL代码。

这块板子之前使用的就是HAL库,但是用习惯了标准库,感觉不太适应HAL库,所以才想着把这个板子的代码重新使用标准库写一遍
radio2radio 回答时间:2019-12-2 16:57:02
IIC_INIT 发表于 2019-12-2 16:29
这块板子之前使用的就是HAL库,但是用习惯了标准库,感觉不太适应HAL库,所以才想着把这个板子的代码重新 ...

代价就是你现在的样子,浪费时间在除错上面。
大陶 回答时间:2019-12-2 17:23:16
系统时钟配置的是不是正确呢?
IIC_INIT 回答时间:2019-12-3 11:08:49
dataozi 发表于 2019-12-2 17:23
系统时钟配置的是不是正确呢?

如果是系统时钟的问题,不应该整体增加了40呀
IIC_INIT 回答时间:2019-12-3 11:09:26
radio2radio 发表于 2019-12-2 16:57
代价就是你现在的样子,浪费时间在除错上面。

轻松的是后面
废鱼 回答时间:2019-12-4 09:03:46
楼主配置的波特率时多少?从代码上看没什么问题,从实际现象分析可能时因为配置问题导致。可以用示波器测试一下串口的波形。
IIC_INIT 回答时间:2019-12-10 10:49:46
安 发表于 2019-12-4 09:03
楼主配置的波特率时多少?从代码上看没什么问题,从实际现象分析可能时因为配置问题导致。可以用示波器测试 ...

我试过单片机上面的各种频率,然后如果上位机的波特率和下位机的波特率如果不一致的话,收到的就是乱码,如果一致,16进制是整体加了40,很稳定
butterflyspring 回答时间:2019-12-11 16:10:28
一般用示波器测量一下,这样输出的是什么都知道了,顺腾就好摸瓜了
mylovemcu 回答时间:2019-12-11 16:44:20
程序配置没看出什么问题  
看一下printf函数  这个函数是自己写的  还是调的系统的
猜测是软件的问题  如果是硬件的问题的话为什么只有31  32 。。变成71  72了  0d  0a为什么没有增加

试着直接用库函数USART的发送函数试一下  
废鱼 回答时间:2019-12-13 10:50:57
建议楼主还是使用示波器看一下数据波形。配置错误也会导致这样的问题,比如数据位、停止位、奇偶效验等。

评分

参与人数 1蝴蝶豆 +2 收起 理由
STMCU + 2

查看全部评分

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版