请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:RM48L952 您好!
DCC#24指出"所捕获的周期计数可能不正确"、并提供权变措施:
"权变措施通过进行两次测量和减去、可以消除静态频率偏移。 可以通过进行多次测量并丢弃异常值来消除间歇偏移-一种奇数滤波算法"
文档 Hercules PLL Advisory SSWF02#45变通办法在函数 check_frequency ()中使用单冲模式。 这是否已验证可以正常工作? 我在 check_frequency ()函数中看不到正在进行的多项测量、除非我被错误地认为是这样。
静态 uint32 check_frequency (uint32 cnt1_clksrc) { //*设置 DCC1 */ //* DCC1全局控制寄存器配置*/ dccREG1->GCTRL =(uint32) 0x5U |//禁用 DCC1 */ (uint32)(uint32)(uint32 )|(uint32)(uuu32)|(uint32 )*(uint32)(uuuint32)(uuuuuu/uint32) /**无完成中断*/* 清除 ERR 和 DONE 位*/ dccREG1->STAT = 3U; /** DCC1时钟0计数器种子值配置*/ dccREG1->CNT0SEED = 68U; /** DCC1时钟0有效计数器种子值配置*/ dccREG1->VALLID0SEED = 68U;/cc1 时 钟1时钟1有效计数器种子值配置*/ cc1 /** DCC1时钟源1选择*/ dccREG1->CNT1CLKSRC =(uint32)((uint32) 10U <<12U)|/** DCC 启用/禁用密钥*/ (uint32) cnt1_clksrc;/** DCC1时钟源1 */ dccREG1->CNTCNT32 ;(uint1) CNTCC0CNTCNTCNTCSRC /** DCC1时钟源0 */** DCC1全局控制寄存器配置*/ dccREG1->GCTRL =(UINT32) 0xAU |/**启用 DCC1 */ (UINT32)(((UINT32) 0x5U <<4U)|/**无错误中断*/ (UINT32)(UINT32) < 0x5U (UINT32) /**未完成中断*/ while (dccREG1->STAT =0U) {/* 等待*/} 返回(dccREG1->STAT & 0x01U); }
请为我澄清此问题。
谢谢!
支持文档: