完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在尝试在不使用 或 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 的波特率错误有什么建议或想法吗?
|
|
相关推荐
1个回答
|
|
有几个可能的原因导致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和必要的手动配置。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-TF卡烧录流程之烧写过程
1128 浏览 0 评论
1826 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-mfgtools烧录流程之烧写原理
1441 浏览 0 评论
请问SPH0641LU4H这款麦克风如何在不使用I2S的情况下,单纯通过GPIO来进行驱动且正常读取数据呢
1081 浏览 1 评论
642 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
12105 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-4 11:50 , Processed in 0.628701 second(s), Total 75, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (威廉希尔官方网站 图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号