这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » XMC4500串行波特率不正确的原因?怎么解决?

共2条 1/1 1 跳转至

XMC4500串行波特率不正确的原因?怎么解决?

工程师
2024-08-24 16:24:38     打赏

我正在尝试在不使用 或 XMC 库的情况下对 XMC4500 Relax 进行编程。

COOLDIM_PRG_BOARDDAVE™因此,内核和时钟设置是我自己的代码。我已将 USIC 模块 1 通道 0 编程为 ASC 并且可以传输。 但是,波特率 TESTBOARD_150PC_OUT 了 5 倍。在 PDIV=316、PCTQ=0 和 DCTQ=15 的情况下,我预计波特率为 19'200,但输出的波特率为 3840,即好像 fperiPh 是 24 MHz (foSi) 而不是 120 MHz (fSys) 一样。

但是,我的理解是,如果不可分割,fperiPh应该是fSys,那么为什么它仍处于启动值呢?我测量了执行一组指令所花费的时间,发现随着我提高 PLL 速度,在达到 120 MHz 时达到预期的 5 系数,时间缩短了。这使我相信 fCPU 是 120 MHZ。我注意到 Systick 没有变化,一直保持在 24 MHz。这也出乎意料,所以也许这为我做错了什么提供了线索。有人为何我的串行 IO 的波特率错误有什么建议或想法吗?




关键词: XMC4500     串行     波特率    

助工
2024-08-24 16:24:56     打赏
2楼

有几个可能的原因导致XMC4500串行波特率不正确:

1. PLL设置错误:波特率的计算依赖于系统时钟fSys,如果PLL设置不正确,则fSys可能与预期不符。请确保PLL设置正确,并且fSys与预期的系统时钟频率匹配。

2. 配置参数错误:注意配置USIC模块1通道0时所使用的参数,如PDIV、PCTQ和DCTQ。这些参数直接影响波特率的计算。确保这些参数设置正确,以产生您所期望的波特率。

3. 引脚配置错误:确保UART引脚配置正确,包括RX、TX和必要的手动配置。如果引脚配置错误,可能会导致波特率不正确。

为了解决这个问题,您可以按照以下步骤进行操作:

1. 检查并确认PLL设置正确,并且fSys与预期的系统时钟频率匹配。

2. 确保USIC模块1通道0的配置参数(PDIV、PCTQ和DCTQ)正确设置,以产生您所期望的波特率。

3. 检查并确认UART引脚配置正确,包括RX、TX和必要的手动配置。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]