完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
N76E003 HIRC 频率为 16 MHz,室温下偏差小于 1%。当使用高达 38400 的波特率进行 UArT 传输时,16 MHz 不能除以 38400 Hz,因此波特率偏差过大,传输无法稳定。
此时,用户可以将 HIRC 频率更改为 16.588 MHz 以产生准确的波特率。 更改 HIRC 频率的步骤如下: 修剪值 = RCTRIM0(HIRCTRIM[8:1]) RCTRIM1(HIRCTRIM[0]) 将 HIRC 频率调整为 16.6 MHz; 将计算值写回 RCTRIM0 和 RCTRIM1,HIRC 更改将在写入后立即生效; 每次上电后,HIRC 都会恢复到 16 MHz,用户需要通过写入 SFR 来更改 HIRC。 根据16.588 MHz重新计算波特率,并设置定时器产生的波特率以满足标准波特率。 示例示例: SFR RCTRIM0 = 0x84; SFR RCTRIM1 = 0x85; 位BIT_TMP; #define set_IAPEN BIT_TMP = EA; EA=0; TA=0xAA; TA=0x55; CHPCON |= SET_BIT0; EA= BIT_TMP #define set_IAPGO BIT_TMP = EA; EA = 0; TA = 0xAA; TA = 0x55; IAPTRG |= SET_BIT0; EA = BIT_TMP #define clr_IAPEN BIT_TMP = EA; EA = 0; TA = 0xAA; TA = 0x55; CHPCON &= ~SET_BIT0; EA=BIT_TMP 无符号字符 hircmap0,hircmap1; 无符号 int trimvalue16 位; 无效MODIFY_HIRC_VLAUE(无效) { set_iapen; IAPAL = 0x30; IAPAH = 0x00; IAPCN = READ_UID; set_iapgo; hircmap0 = IAPFD; IAPAL = 0x31; IAPAH = 0x00; set_iapgo; hircmap1 = IAPFD; clr_iapen; trimvalue16bit = ((hircmap0<<1)+(hircmap1&0x01)); trimvalue16bit = trimvalue16bit - 15; hircmap1 = trimvalue16bit&0x01; hircmap0 = trimvalue16bit>>1; ta=0xaa; ta=0x55; RCTRIM0 = hircmap0; ta=0xaa; ta=0x55; RCTRIM1 = hircmap1; } |
|
|
|
|
|
要更改 N76E003 的 HIRC 频率以实现更准确的 UART 传输,需校准内部高速振荡器(HIRC)的精度,从而减少 UART 波特率误差。以下是具体步骤和代码示例: 校准 HIRC 的步骤
代码实现关键细节
注意事项
通过以上步骤校准 HIRC 后,UART 波特率精度显著提升,有效避免通信错误。 |
|
|
|
|
只有小组成员才能发言,加入小组>>
182浏览 2评论
为什么DSP(数字信号处理)需要Q格式?q31、q15、q7 和 f32 是什么意思呢?
332浏览 2评论
请问NuMicro® Cortex-M0/M4系列可以提供哪些USB器件示例代码?
232浏览 2评论
芯片进入空闲或关机模式后,窗口看门狗定时器 (WWDT) 是否会继续工作呀?
179浏览 2评论
请问Nu-Link 驱动程序可以同时安装在 Keil RVMDK UV4 和 UV5 上吗?
216浏览 2评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-4 10:39 , Processed in 0.786984 second(s), Total 80, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
408
