LPC1788 SystemInit函数分析

发布者:创新火花最新更新时间:2018-11-30 来源: eefocus关键字:LPC1788  SystemInit函数 手机看文章 扫描二维码
随时随地手机看文章

void SystemInit (void)

{

#if (CLOCK_SETUP)                       /* Clock Setup                        */

   LPC_SC->SCS       = SCS_Val;  /*主振荡器使能          */

   if (SCS_Val & (1 << 5))    /* If Main Oscillator is enabled      */

 {             

     while ((LPC_SC->SCS & (1<<6)) == 0);/* Wait for Oscillator to be ready    */

   }


   LPC_SC->CLKSRCSEL = CLKSRCSEL_Val;    /* Select Clock Source for sysclk/PLL0 选择主振荡器作为sysclk/PLL0时钟源*/


#if (PLL0_SETUP)

   LPC_SC->PLL0CFG   = PLL0CFG_Val;   /* PLL0 10倍频*/

   LPC_SC->PLL0CON   = 0x01;             /* PLL0 Enable                        */

   LPC_SC->PLL0FEED  = 0xAA;

   LPC_SC->PLL0FEED  = 0x55;

   while (!(LPC_SC->PLL0STAT & (1<<10)));/* Wait for PLOCK0                    */

#endif


#if (PLL1_SETUP)

   LPC_SC->PLL1CFG   = PLL1CFG_Val;   /* PLL0 24倍频*/

   LPC_SC->PLL1CON   = 0x01;             /* PLL1 Enable                        */

   LPC_SC->PLL1FEED  = 0xAA;

   LPC_SC->PLL1FEED  = 0x55;

   while (!(LPC_SC->PLL1STAT & (1<<10)));/* Wait for PLOCK1                    */

#endif


   LPC_SC->CCLKSEL   = CCLKSEL_Val;      /* 主PLL的输出作为CPU时钟分频器的输入,输入时钟1分频来产生CPU时钟                */

   LPC_SC->USBCLKSEL = USBCLKSEL_Val;    /* Alt PLL的输出作为USB时钟分频器的输入          */

   LPC_SC->EMCCLKSEL = EMCCLKSEL_Val;    /* EMC使用的时钟速率是CPU的一半               */

  LPC_SC->PCLKSEL   = PCLKSEL_Val;      /* 输入时钟120M经过2分频产生APB时钟60M         */

   LPC_SC->PCONP     = PCONP_Val;        /* Power Control for Peripherals      */

   LPC_SC->CLKOUTCFG = CLKOUTCFG_Val;    /* Clock Output 使能        */

#endif


#if (FLASH_SETUP == 1)                    /* Flash Accelerator Setup            */

   LPC_SC->FLASHCFG  = FLASHCFG_Val|0x03A;  /*FLASH使用6个CPU时钟,20M*/

#endif

#ifdef  __RAM_MODE__

   SCB->VTOR  = 0x10000000 & 0x3FFFFF80;

#else

   SCB->VTOR  = 0x00000000 & 0x3FFFFF80;

#endif

}

关键字:LPC1788  SystemInit函数 引用地址:LPC1788 SystemInit函数分析

上一篇:LPC1768菜鸟学习之ADC
下一篇:关于LPC1768的存储地址、运行地址、向量地址

推荐阅读最新更新时间:2024-03-16 16:18

LPC1788--I2C设置驱动PCF8574 与特别注意事项
简单记录LPC1788学习过程的寄存器操作---I2C学习 寄存器的直接操作可以比较直观学习,深入了解芯片功能! 特别注意事项:如果使用I2C0的P0_27与P0_28时一定要加外部上拉电阻! #include i2c_lpc1788.h /*------------I2C0初始化-------------*/ void I2C0_Init(uint32_t clk, uint32_t clockrate) { uint32_t temp; LPC_IOCON- P0_27=0x21; LPC_IOCON- P0_28=0x21;//配置IO LPC_SC- PCONP |=(1
[单片机]
LPC1788--I2C设置驱动PCF8574 与特别注意事项
Cortex-M3 (NXP LPC1788)之IIS应用--UDA1380进行音频数据播放
LPC1788发送到I2S总线上的音频数据要通过音频解码芯片才能输出模拟音频信号。开发板上使用的是UDA1380,对它的寄存器的配置可以通过L3总线或者I2C总线进行,这里使用I2C总线进行控制,对于I2C总线的操作可以参考之前I2C的介绍。UDA1380的寄存器主要分成3类,系统控制、插值滤波(interpolation filter)、抽取滤波(decimator filter)。插值滤波和DAC转换有关,用于控制控制声音的输出参数。抽取滤波和ADC有关,用于控制对音频的采样。寄存器的地址和功能如图1所示。 图1:UDA1380寄存器地址和功能 根据图1的红色标记中的内容,可以知道两个滤波器的正常使用需要
[单片机]
Cortex-M3 (NXP <font color='red'>LPC1788</font>)之IIS应用--UDA1380进行音频数据播放
LPC1788的ADC和DAC使用
#ifndef __ADC1_H_ #define __ADC1_H_ #include common.h #include delay.h void adc_init(u8 ch,u8 div); u16 adc_cover(u8 ch); #endif #include adc1.h void adc_init(u8 ch,u8 div)//最大时钟不得大于12.4M { //打开ADC和IO口时钟 LPC_SC- PCONP |= (1 15)|(1 12); switch(ch) { case 0: LPC_IOCON- P0_23 = 0x
[单片机]
深度讨论32复位及SystemInit函数在程序中的作用
在32应用中,我们复位一般有两种方式: 1.按复位按键复位程序 2.拔动单片机上的跳冒完成32的 以上两种复位方式中,对芯片而言,其实都是引脚接收到一个跳变延信号后触发的程序而已。在keil自带的固件库中,我们可以看到一下程序: 这里是从库中截出的复位程序代码段。EXPORT定义了一个全局变量 Reset_Handler 。IMPORT表示引用了一个函数,这里引进的_main函数的作用是把我们平时写的主函数中的main函数起作用,将C程序与底层汇编程序连接起来,使程序发挥作用。而我们在刚开始学习的时候,经常会发现别人写的环境中,总有一个函数不知道什么意思:SystemInit()。我们看会图片中150行中引入
[单片机]
深度讨论32复位及<font color='red'>SystemInit</font><font color='red'>函数</font>在程序中的作用
   恩智浦半导体NXP Semiconductors N.V.近日发布了LPC1788微控制器,这是业界首款采用ARM® Cortex™-
   QNX软件系统有限公司今日宣布QNX® Neutrino® RTOS Secure Kernel™6.5.0版本正式商用,该产品是该公司共通准则认证实时操作系统的增强版。QNX® Neutrino® RTOS Secure Kernel™6.5.0版本主要针对发电厂、防御系统,地铁控制中心、政府网络及其它关键性任务应用所设计,使开发人员在基于ARM、Power和x86架构的单核或多核处理器方面有更多的选择,并充分利用QNX操作系统技术的最新功能和增强性能。    QNX Neutrino RTOS Secure Kernel是唯一由共通准则ISO/IEC 15408评估保证级别(EAL)4+授权并能够支持自适应分区的实时操作系
[工业控制]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved