void HardwareSetup(void)
{
int i;
SYSTEM.PRCR.WORD = 0xA503;
SYSTEM.SOSCCR.BIT.SOSTP = 1;//サブクロック停止
SYSTEM.MOSCWTCR.BYTE = 0x0D;//メインクロック発振待機時間設定
SYSTEM.PLLWTCR.BYTE = 0x0F;//PLL発振待機時間設定
SYSTEM.PLLCR.BIT.PLIDIV = 0;
SYSTEM.PLLCR.BIT.STC = 0x0F;
SYSTEM.MOSCCR.BIT.MOSTP = 0;//メイン発振
SYSTEM.PLLCR2.BIT.PLLEN = 0;//PLL発振
for(i=0; i< 0x600; i++) ; //PLL安定待機時間以上待つ(メイン安定前)
SYSTEM.SCKCR.LONG = 0x21021211;
SYSTEM.SCKCR3.BIT.CKSEL = 4;//PLL回路選択
SYSTEM.SOSCCR.BIT.SOSTP = 0; //サブクロックスタート
SYSTEM.PRCR.WORD = 0xA500;
}
{
int i;
SYSTEM.PRCR.WORD = 0xA503;
SYSTEM.SOSCCR.BIT.SOSTP = 1;//サブクロック停止
SYSTEM.MOSCWTCR.BYTE = 0x0D;//メインクロック発振待機時間設定
SYSTEM.PLLWTCR.BYTE = 0x0F;//PLL発振待機時間設定
SYSTEM.PLLCR.BIT.PLIDIV = 0;
SYSTEM.PLLCR.BIT.STC = 0x0F;
SYSTEM.MOSCCR.BIT.MOSTP = 0;//メイン発振
SYSTEM.PLLCR2.BIT.PLLEN = 0;//PLL発振
for(i=0; i< 0x600; i++) ; //PLL安定待機時間以上待つ(メイン安定前)
SYSTEM.SCKCR.LONG = 0x21021211;
SYSTEM.SCKCR3.BIT.CKSEL = 4;//PLL回路選択
SYSTEM.SOSCCR.BIT.SOSTP = 0; //サブクロックスタート
SYSTEM.PRCR.WORD = 0xA500;
}
コメント
コメントを投稿