[技术问答] HC32F005 UART1问题请教

[复制链接]
 楼主| tottionly 发表于 2022-11-17 10:14 | 显示全部楼层 |阅读模式
用hc32f005_ddl_Rev1.9.0 Lite中给的uart_int例程,修改如下:1. 改TX,RX引脚 659986375960ca771e.png

2. 改为Mode1,波特率改为115200
311856375972024a41.png
3. main函数中注释奇偶校验,直接发送
205756375974c88b26.png

上位机端,循环发送1,2,3。目前遇到的问题:
1. 在仿真模式下不设断点,直接运行,程序功能正常,接受发送都没问题。
63360637597bcb2ecc.png

2. 但下载到flash, 程序不正常,接收和发送数据出错。
99708637597d731196.png

3. 其余不变,波特率改为9600, 则在仿真模式下,接收和发送数据都出错。而在flash运行下,接收和发送数据反而正确。

请教下,上述的可能问题是什么?

 楼主| tottionly 发表于 2022-11-18 10:45 | 显示全部楼层
解决了,就是波特率误码比较高的关系。设置到24M频率,1152bps, 双倍波特率,就没问题了。

点评

请问我用HC32F005_DDL_Rev2.0.0的库和例程跟你配置的一样,用的是内部时钟24MHz,但是收发都是乱码,波特率和是否双倍波特率也切换着试,都没用,可以看一下你的配置例程吗  发表于 2023-4-19 09:05
原先用的是4M吗  发表于 2022-11-18 11:21
刚看到,加下我,有问题让我技术支持你。  发表于 2022-11-18 11:19
 楼主| tottionly 发表于 2022-11-21 08:58 | 显示全部楼层
对,原来是固件默认的,4M
tpgf 发表于 2022-12-6 11:48 | 显示全部楼层
修改引脚之后还得需要配置相应的io啊 不是只配置串口就好使
nawu 发表于 2022-12-6 12:08 | 显示全部楼层
tottionly 发表于 2022-11-18 10:45
解决了,就是波特率误码比较高的关系。设置到24M频率,1152bps, 双倍波特率,就没问题了。 ...

请问如何改善这种正常情况下的误码率呢
aoyi 发表于 2022-12-6 13:23 | 显示全部楼层
弱弱问一下  波特率肯定是有一定偏差的 这种偏差达到多少的时候才会导致通讯不畅呢
zljiu 发表于 2022-12-6 13:56 | 显示全部楼层
从楼主描述的显现过来看 应该不是波特率的问题导致的
gwsan 发表于 2022-12-6 14:18 | 显示全部楼层
tottionly 发表于 2022-11-18 10:45
解决了,就是波特率误码比较高的关系。设置到24M频率,1152bps, 双倍波特率,就没问题了。 ...

请问这个误码率额如何计算呢 另外什么叫做双倍波特率啊
tfqi 发表于 2022-12-6 14:42 | 显示全部楼层
烧写程序时,烧写软件有单倍速和双倍速的选择项,选择好就可以了,波特率要进行程序变化
pltczw666 发表于 2023-1-5 21:32 | 显示全部楼层
aoyi 发表于 2022-12-6 13:23
弱弱问一下  波特率肯定是有一定偏差的 这种偏差达到多少的时候才会导致通讯不畅呢 ...

理论上16倍采样率时,超过2.5%就会出错
chenjun89 发表于 2023-1-6 08:13 来自手机 | 显示全部楼层
你这个现象有点奇葩,换成低速率反而还有问题,再检查一下程序逻辑吧。
martinhu 发表于 2023-1-6 11:37 | 显示全部楼层
参考手册上有个时钟主频和波特率的对照表,针对当前使用的PCLK,建议设置误差在1%以内的波特率
Henryko 发表于 2023-5-12 23:52 | 显示全部楼层
是不是修改以后没重新初始化
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

35

帖子

1

粉丝
快速回复 返回顶部 返回列表