IIC_INIT 发表于 2019-12-2 15:44:47

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

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



IIC_INIT 发表于 2019-12-2 15:54:04

下面是USART初始化的代码






radio2radio 发表于 2019-12-2 16:24:59

建议使用Cube自动生成的HAL代码。

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库,所以才想着把这个板子的代码重新 ...

代价就是你现在的样子,浪费时间在除错上面。

dataozi 发表于 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,很稳定:L
页: [1] 2
查看完整版本: stm32F407ig使用printf打印字符串的时候整体增加了40