[技术问答] HC32F003/005系列串口通信

[复制链接]
2081|11
 楼主| zheiwaok 发表于 2020-6-9 14:17 | 显示全部楼层 |阅读模式
查看手册串口波特率如下:
249165edf27c53f91b.png

590915edf2837a3345.png
如果代码:
stcBaud.u32Baud = 2400u;
stcBaud.u8Mode = UartMode3;
实际的波特率不是整数啊,那怎么用串口通信啊,一般的串口程序都无法随意选定波特率?
不能设置固定的波特率吗?
同时有个疑惑点,如果用串口通信程序,是设置2400,还是计算出来的baudrate?
smartpower 发表于 2020-6-9 14:57 | 显示全部楼层
只要双方的波特率相对误差小于4%,理论上就能通信。
工程实践中,需要确保双方的波率相对误差2%,一定能稳定通信。
 楼主| zheiwaok 发表于 2020-6-10 11:29 | 显示全部楼层
smartpower 发表于 2020-6-9 14:57
只要双方的波特率相对误差小于4%,理论上就能通信。
工程实践中,需要确保双方的波率相对误差2%,一定能稳 ...

谢谢解答,还有个疑问:如果用串口通信程序,是设置2400,还是计算出来的baudrate?
smartpower 发表于 2020-6-10 19:04 | 显示全部楼层
设目标却可,库函数会自动计算最接近的数。
 楼主| zheiwaok 发表于 2020-6-13 12:47 | 显示全部楼层
smartpower 发表于 2020-6-10 19:04
设目标却可,库函数会自动计算最接近的数。

问题解决了,原来用系统自带的startup不行,必须用common里面的startup。
系统时钟的问题。华大的工程师啊,这让我们这些新手要花不少的时间解决这些坑。
https://bbs.21ic.com/icview-2733720-1-1.html
 楼主| zheiwaok 发表于 2020-6-13 12:56 | 显示全部楼层
zheiwaok 发表于 2020-6-13 12:47
问题解决了,原来用系统自带的startup不行,必须用common里面的startup。
系统时钟的问题。华大的工程师 ...

默认例子工程打开后,选择device和target后会多出device下面的几个文件,把这两个文件勾掉
201885ee45be1e5a9e.png
最后keil上显示如下:
254825ee45aea6a583.png 编译通过后,通信就正常了。



heimaojingzhang 发表于 2020-7-7 16:14 | 显示全部楼层
恭喜楼主解决问题
keaibukelian 发表于 2020-7-7 16:14 | 显示全部楼层
原来是这样啊
labasi 发表于 2020-7-7 16:15 | 显示全部楼层
遇到这个问题我也知道怎么解决了
paotangsan 发表于 2020-7-7 16:15 | 显示全部楼层
长知识了 呵呵呵
renzheshengui 发表于 2020-7-7 16:16 | 显示全部楼层
明白了 感谢各位热心讨论
liyan1998 发表于 2020-7-7 17:19 | 显示全部楼层
1111111111111111111111111111111111111111111111111
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

32

帖子

1

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