本人搞硬件,现在遇到关于寄存器设置的问题请教大家:
针对不同频率的晶体,Reg16,Reg17,Reg25寄存器必需做不同的配置,配置值可以用公式算出来,如下,:
(晶体频率/512)+0.5然后取整,再转换为16进制数,得到一个18bit的数。
取这个数的高16bit,写入REG16,bit1写入REG17的最高位,bit0写入REG25的最高位。
举例:
频率为12Mhz:
12000000/512+0.5=23438,转换为16进制为0x5b8e,高16位为0x16e3,bit1=1,bit0=0。
所以REG16=0x16e3,reg17由0x0000改为0x8000,reg25为0x28bc。
频率为24Mhz:
24000000/512+0.5=23438,转换为16进制为0Xb71b,高16位为0x2dc6,bit1=1,bit0=1。
所以REG16=0x2dc6,reg17由0x0000改为0x8000,reg25改为0xa8bc。
[size=5]请问当频率为27Mhz:
REG16=?,
reg17由0x0000改为?,
reg25改为?[/size]