usart用dma通信,时钟哪里不对劲?
本帖最后由 雨過天晴 于 2022-1-28 13:12 编辑stm32f103c6t6
用的hal库
时钟设置的19200,串口助手能看到字节数值不对,串口助手时钟用9600,数值就能对上了,哪里弄错了?
本帖最后由 雨過天晴 于 2022-1-28 13:14 编辑
57600也试了
28800数值就正常
57600数值就乱了,参数给的是57600啊
換個調試助手看看? 對於UART這邊 57600是沒問題的。 换个串口助手试试 时钟频率,共地 先确认自己的配置没有问题 设置是19200
__HAL_UART_ENABLE_IT(&huart1, UART_IT_IDLE);
HAL_UART_Transmit(&huart1,TX_Buff,TX_Count,1000);
HAL_Delay(1000);
9600数据正常的
19200乱码中
串口助手换了好几个都一样,stm32f103c6t6a,现在不知道从哪里入手查???
@songchenping @香水城 @wode2008 @LcwSwust 破案了,用内部HSI没问题,一切都正常
用外部HSE有问题,晶振确实是8M的,咋回事? 频率刚好差一半,按理说这个规律很明显了。调试模式一步步跟踪吧,看看哪里配置错了。 大彩的触摸屏。 motor666 发表于 2022-2-8 19:59
大彩的触摸屏。
雨過天晴 发表于 2022-2-8 09:26
设置是19200
我不了解hal库,也许有BUG,你可以对照单片机的手册检查一下代码,或把时钟相关寄存器的值发送出来看看,基本确定是时钟的问题,看看哪里有2分频。
好好看看是不是哪里的配置出问题了 这样的话,就是时钟检查检查
页:
[1]