打印
[技术问答]

HC32F003/005系列串口通信

[复制链接]
1482|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
查看手册串口波特率如下:



如果代码:
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 | 只看该作者
设目标却可,库函数会自动计算最接近的数。

使用特权

评论回复
5
zheiwaok|  楼主 | 2020-6-13 12:47 | 只看该作者
smartpower 发表于 2020-6-10 19:04
设目标却可,库函数会自动计算最接近的数。

问题解决了,原来用系统自带的startup不行,必须用common里面的startup。
系统时钟的问题。华大的工程师啊,这让我们这些新手要花不少的时间解决这些坑。
https://bbs.21ic.com/icview-2733720-1-1.html

使用特权

评论回复
6
zheiwaok|  楼主 | 2020-6-13 12:56 | 只看该作者
zheiwaok 发表于 2020-6-13 12:47
问题解决了,原来用系统自带的startup不行,必须用common里面的startup。
系统时钟的问题。华大的工程师 ...

默认例子工程打开后,选择device和target后会多出device下面的几个文件,把这两个文件勾掉

最后keil上显示如下:
编译通过后,通信就正常了。



使用特权

评论回复
7
heimaojingzhang| | 2020-7-7 16:14 | 只看该作者
恭喜楼主解决问题

使用特权

评论回复
8
keaibukelian| | 2020-7-7 16:14 | 只看该作者
原来是这样啊

使用特权

评论回复
9
labasi| | 2020-7-7 16:15 | 只看该作者
遇到这个问题我也知道怎么解决了

使用特权

评论回复
10
paotangsan| | 2020-7-7 16:15 | 只看该作者
长知识了 呵呵呵

使用特权

评论回复
11
renzheshengui| | 2020-7-7 16:16 | 只看该作者
明白了 感谢各位热心讨论

使用特权

评论回复
12
liyan1998| | 2020-7-7 17:19 | 只看该作者
1111111111111111111111111111111111111111111111111

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

32

帖子

1

粉丝