|
#define HXVAR(object, addr) (*((object ecode *) (addr)))
#define const_RCLP_TRIM HXVAR( unsigned char, 0x8001F8 ) //Trimming value for RCLP
#define const_RCHF24_TRIM HXVAR( unsigned char, 0x8001FB ) //trimming value for 24M RCHF
#define const_RCHF16_TRIM HXVAR( unsigned char, 0x8001FC ) //trimming value for 16M RCHF
#define const_RCHF08_TRIM HXVAR( unsigned char, 0x8001FD ) //trimming value for 8M RCHF
这里面的修正值是怎么来的?
void CLK_Init(void) CLK初始化,将时钟初始化为8M RCHF
{
unsigned char temp_char;
temp_char = const_RCLP_TRIM; //RCLP 校准值
想问一下下面这三行有什么具体意义
temp_char =(~(temp_char>>4))&0x0f;
if((const_RCLP_TRIM&0x0f)==temp_char) RCLP_TRIM = const_RCLP_TRIM;
else RCLP_TRIM = 0x08;
}
|
|