我正在尝试在不使用 或 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 的波特率错误有什么建议或想法吗?