[STM32F1] usart用dma通信,时钟哪里不对劲?

[复制链接]
1564|14
 楼主| 雨過天晴 发表于 2022-1-28 12:15 | 显示全部楼层 |阅读模式
本帖最后由 雨過天晴 于 2022-1-28 13:12 编辑

stm32f103c6t6

用的hal库

时钟设置的19200,串口助手能看到字节数值不对,串口助手时钟用9600,数值就能对上了,哪里弄错了?

 楼主| 雨過天晴 发表于 2022-1-28 12:17 | 显示全部楼层
本帖最后由 雨過天晴 于 2022-1-28 13:14 编辑

3898161f36dd33330c.png

57600也试了

3299561f36e2ea8564.png

28800数值就正常
3891861f37b9e415e2.png

57600数值就乱了,参数给的是57600啊
 楼主| 雨過天晴 发表于 2022-1-28 12:18 | 显示全部楼层
香水城 发表于 2022-1-28 13:41 | 显示全部楼层
換個調試助手看看? 對於UART這邊 57600是沒問題的。
LcwSwust 发表于 2022-1-28 14:00 | 显示全部楼层
换个串口助手试试
wode2008 发表于 2022-1-28 14:14 | 显示全部楼层
时钟频率,共地
songchenping 发表于 2022-1-29 08:59 | 显示全部楼层
先确认自己的配置没有问题
 楼主| 雨過天晴 发表于 2022-2-8 09:26 | 显示全部楼层
设置是19200
384936201c3c56b87d.png
784716201c4248485a.png
923276201c447df04e.png
671476201c4626a290.png
  1. __HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);
  2. HAL_UART_Transmit(&huart1,TX_Buff,TX_Count,1000);
  3. HAL_Delay(1000);

9600数据正常的
668116201c5f2e05b1.png
19200乱码中
119756201c613887a7.png
串口助手换了好几个都一样,stm32f103c6t6a,现在不知道从哪里入手查???
@songchenping @香水城 @wode2008 @LcwSwust
 楼主| 雨過天晴 发表于 2022-2-8 15:29 | 显示全部楼层
破案了,用内部HSI没问题,一切都正常
8899762021b576f2e7.png
用外部HSE有问题,晶振确实是8M的,咋回事?
diweo 发表于 2022-2-8 15:31 | 显示全部楼层
频率刚好差一半,按理说这个规律很明显了。调试模式一步步跟踪吧,看看哪里配置错了。
motor666 发表于 2022-2-8 19:59 | 显示全部楼层
大彩的触摸屏。
 楼主| 雨過天晴 发表于 2022-2-9 15:04 | 显示全部楼层
LcwSwust 发表于 2022-2-11 09:36 | 显示全部楼层

我不了解hal库,也许有BUG,你可以对照单片机的手册检查一下代码,或把时钟相关寄存器的值发送出来看看,基本确定是时钟的问题,看看哪里有2分频。
一刀一级 发表于 2022-2-11 09:47 来自手机 | 显示全部楼层
好好看看是不是哪里的配置出问题了
carpsnow 发表于 2022-2-11 17:03 | 显示全部楼层
这样的话,就是时钟检查检查
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

81

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部