- 打卡等级:常住居民III
- 打卡总天数:132
- 最近打卡:2025-06-16 09:55:59
高级会员
- 积分
- 585
|
碰到问题需要请教 
用以下代码能在 8H8K64U 的 P1.6 脚成功输出 12M 时钟, 但挪到 8H1K08 後, 却只能输出 4M 时钟
void Set_System_Clock()
{
// Enable the Extended SFR for setting system clock config
P_SW2 |= bmBIT7;
// Set CLKSEL for :
// Source of MCLK Bit[1:0] 00 : HIRC will be used
CLKSEL = 0x00;
// Set CLKDIV for SYSCLK
//CLKDIV = 4; // SYSCLK = 24M / 4 = 6MHz
//CLKDIV = 2; // SYSCLK = 24M / 2 = 12MHz
CLKDIV = 1; // MAIN_Fosc = 24000000L, SYSCLK = 24M
// V0105_B
// enable 12MHz clock output from P1.6
MCLKOCR = 0x82; // Bit_7 = 1 , using P1.6 as MCLK output
// Bit[6:0] = 2 , SYSCLK / 2
//MCLKOCR = 0x81; // DEBUG
// Disable the access of Extended SFR
//P_SW2 = 0x00;
}
1. 都是在 ISP 烧录时选择 IRC 频率 24M
2. 烧录成功後亦显示经 ISP 调节後的频率为 23.995MHz
3. 曾尝试修改 MCLKOCR 数值为 0x81 , 看能否提高输出的频率, 结果是 P1.6 没有时钟输出 !
请问该怎样修改才能从 P1.6 脚输出 12MHz 时钟 ?
|
|