找回密码
 立即注册
查看: 67|回复: 4

共享定时器只能是相同波特率吗?

[复制链接]
  • 打卡等级:偶尔看看I
  • 打卡总天数:12
  • 最近打卡:2025-09-30 09:35:31
已绑定手机

20

主题

26

回帖

228

积分

中级会员

积分
228
发表于 3 天前 | 显示全部楼层 |阅读模式
使用STC32G12K128

串口1可以用定时器1或者定时器2,但是手册不建议使用定时器1(我使用定时器1确实出问题了)
串口2只能使用定时器2
这就尴尬了:串口1和串口2都是使用定时器2,但是两个串口波特率不同

截图202509300935135204.jpg

结果2个串口都变成了9600波特率

回复

使用道具 举报 送花

3

主题

1928

回帖

704

积分

等待验证会员

积分
704
发表于 3 天前 | 显示全部楼层
共享定时器只能是相同波特率吗? 使用STC32G12K128

关于“共享定时器是否必须使用相同波特率”的问题,实际上需要从串口通信原理和定时器资源分配机制两个层面来分析。

首先,从串口通信的基本原理来看,波特率的生成依赖于定时器的溢出频率。对于STC32G12K128系列单片机而言,其串口模块通过定时器的溢出脉冲来生成波特率。这意味着,如果多个串口共享同一个定时器,理论上它们将共享相同的溢出频率,从而导致波特率一致。

然而,实际情况需要结合具体型号的硬件设计来看。STC32G12K128的串口1(UART1)可以选择定时器1或定时器2作为波特率发生器,而串口2(UART2)仅能使用定时器2。这种设计意味着,当UART1使用定时器1时,UART2可以独立使用定时器2;但若UART1也使用定时器2,则两者将共享该定时器资源。

从手册建议来看,不推荐使用定时器1作为UART1的波特率发生器,这可能与定时器1的时钟源配置、中断优先级或与其他模块的冲突有关。用户反馈使用定时器1确实出现了问题,进一步验证了手册建议的合理性。

当UART1和UART2都使用定时器2时,若两个串口的波特率设置不同,则会出现波特率冲突现象。这是因为定时器2的溢出频率被设置为其中一个串口所需的波特率,而另一个串口则无法独立调整其波特率。实验结果显示两个串口都变成了9600波特率,说明系统最终选择了某个默认或优先级较高的波特率设置,导致另一个串口的波特率被覆盖。

解决这一问题的关键在于如何实现不同波特率的串口通信。一种可能的解决方案是采用软件模拟串口通信(即“软串口”),通过GPIO引脚和延时控制来实现波特率的灵活配置。这种方法虽然牺牲了一定的CPU资源,但可以绕过硬件定时器的限制,实现多个不同波特率的串口同时工作。

此外,也可以考虑使用外部专用的波特率发生器芯片,或者选择支持多路独立波特率生成的更高性能单片机。对于已有设计,若硬件资源允许,可以尝试重新分配定时器资源,例如使用定时器3或定时器4(如果存在),以避免定时器2的共享问题。

综上所述,STC32G12K128在使用共享定时器时确实存在波特率一致的问题,这是由其硬件架构决定的。在实际应用中,应根据系统需求合理选择定时器资源,并在必要时采用软件或外部硬件方案来实现多路不同波特率的串口通信。

[本文内容由国芯人工智能辅助生成,仅供参考]
回复

使用道具 举报 送花

  • 打卡等级:以坛为家I
  • 打卡总天数:233
  • 最近打卡:2025-09-30 09:15:24
已绑定手机

4

主题

16

回帖

682

积分

高级会员

积分
682
发表于 3 天前 | 显示全部楼层
多个串口使用同一个定时器只能波特率相同,以最后一次设置的波特率为准
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:574
  • 最近打卡:2025-09-30 07:17:25
已绑定手机

86

主题

6208

回帖

1万

积分

超级版主

积分
11566
发表于 3 天前 | 显示全部楼层
不同波特率,可以串口1使用定时器1,串口2使用定时器2
回复

使用道具 举报 送花

  • 打卡等级:以坛为家II
  • 打卡总天数:534
  • 最近打卡:2025-09-30 10:13:50

33

主题

2578

回帖

5661

积分

论坛元老

积分
5661
发表于 3 天前 | 显示全部楼层
我比较关心你的定时器1怎么了。。。
参考例程并不是对技术参 考手册的补充,而是对技术参 考手册的解释。
技术参 考手册不应该需要参考例程作为补充,而是解释成了参考例程的样子
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-10-3 08:51 , Processed in 0.121462 second(s), 76 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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