请教STC8G内部高精IRC频率调整的具体细节问题:
本帖最后由 EMC菜鸟 于 2020-12-27 18:05 编辑STC8G2K32S2
用的内部时钟,在程序运行中需要切换时钟至尽量准确的12M、发现一个问题,如果我一开始就运行12M时,读出IRTRIM的值(BB) 和 T24M_ROMADDR处读出的值(BA)不一样,经过实测貌似BB确实更准确,这是为什么?能否请STC公布该IRC使用上更具体的细节,比如到底哪些寄存器参与了IRC的参数调整、最准确的值到底是什么、如何在程序中能调整到最为准确的频率值(至少跟开机直接运行该频率调整到一样的参数吧)? 版主能指点一下吗? 如图:参考这个程序 国学芯用 发表于 2020-12-28 13:49
如图:参考这个程序
我就是用的这个程序:
CLKDIV = 0x04;
IRTRIM = T24M_ROMADDR;
VRTRIM = VRT20M_ROMADDR;
IRCBAND = 0x00;
CLKDIV = 0x02;
我现在的问题不是这个程序本身,而是这个程序还不够准确!我发现开机直接运行12M、跟我开机后从别的频率切换至12M、效果有差别!我开机直接运行12M,然后读 IRTRIM 和 T24M_ROMADDR 比较、这两值并不相同(差一个字)! STC ISP下载后会调整到所设置的频率,如果用户去修改那些设置参数,则要测频才能确定你调整的频率是否正确,STC ISP是根据下载数据流的时间信息来校准频率的。 小李非刀 发表于 2020-12-28 21:35
STC ISP下载后会调整到所设置的频率,如果用户去修改那些设置参数,则要测频才能确定你调整的频率是否正确 ...
我现在的问题是直接运行内部 12M 时读出的 IRTRIM 的参数、和 T24M_ROMADDR 处读出的不一样!
搞不懂为什么 STC 搞个IRC的参数还遮遮掩掩神神秘秘的!
页:
[1]