时钟配置的仿真
while (!(LPC_SYSCON->N->SYSPLLSTAT & 0x01));//等待PLL锁定
LPC_SYSCON->MAINCLKSEL = 0x00000003;//主时钟选择PLL倍频后的时钟
LPC_SYSCON->MAINCLKUEN = 0x00;
LPC_SYSCON->MAINCLKUEN = 0x01;//先写0后写1更新时钟源
while (!(LPC_SYSCON->MAINCLKUEN & 0x01));//等待更新完成
LPC_SYSCON->SYSAHBCLKdiv = 0x00000001;//AHB为1分频,AHB时钟为48MHz
LPC_SYSCON->SYSAHBCLKCTRL |= (1<6);//使能GPIO时钟
}
void SystemInit(void)
{
SysCLK_config();
}
void CLKOUT_EN(uint8_t CLKOUT_div)
{
LPC_SYSCON->SYSAHBCLKCTRL |= (1<16);
LPC_IOCON->PIO0_1=0XD1;
LPC_SYSCON->SYSAHBCLKCTRL &= ~(1<16);
LPC_SYSCON->CLKOUTdiv = CLKOUT_div;
LPC_SYSCON->CLKOUTCLKSEL= 0X00000003;
LPC_SYSCON->CLKOUTUEN =0X00;
LPC_SYSCON->CLKOUTUEN =0X01;
while (!(LPC_SYSCON->CLKOUTUEN & 0x01));
}
int main(void)
{
SystemInit ();//调用时钟配置函数
CLKOUT_EN(48);//CLKOUT输出1MHz的脉冲
while(1)
{
;//空循环
}
}
从程序中可以看出,它加入了对“IOCON寄存器”和“GPIO寄存器”的定义,仍然使用结构体的形式。把上述程序拷贝到开发环境中编译,然后下载到LPC1114中,就可以通过示波器观察到P0.1脚上的波形了。至于如何通过开发环境生成下载文件,如何把它下载到LPC1114中,会在后面进行讨论。
时钟配置仿 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)