⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 device_init.c

📁 CortexM0上移植UCOS-II
💻 C
字号:
/**************************************************************************
//文件名称:device_ini.c
//功    能:器件初始化函数原型
//作    者:懒猫爱飞
//日    期:2011.04.25
//描    述:Target:lpc1114  Crystal:12M  Compiler: MDK4.12  
//修    改:
**************************************************************************/	
#include "LPC11xx.h"
#include "gpio.h" 
#include "config.h"
#include "device_init.h"
#include "systick.h"

#define CLKOUT_DIV_Val       1			//CLKOUT时钟分频系数


/**************************************************************************
// 函数名称 :void DeviceInit(void) 
// 函数功能 : 系统初始化
// 入口参数 : 无
// 出口参数 : 无
// 备    注 :无
**************************************************************************/	  
void DeviceInit(void) 
{
    SystemInit();						       //时钟初始化
	UserGpioInit();							   //GPIO初始化	
	SysTick_Config(SYSTICK_RELOAD);            //配置系统滴答计数器,10MS中断一次				   	
}

/**************************************************************************
// 函数名称 :void UserGpioInit(void) 
// 函数功能 : GPIO初始化(初始化IO口)
// 入口参数 : 无
// 出口参数 : 无
// 备    注 :无
**************************************************************************/	 	  
void UserGpioInit(void) 
{
    GPIOInit(); 
    #ifdef __JTAG_DISABLED  				       //禁止JTAG功能
    LPC_IOCON->R_PIO1_0  &= ~0x07;	               //先清掉为初始复位状态
    LPC_IOCON->R_PIO1_0  |=  0x01;		           //禁止TMS
    LPC_IOCON->R_PIO1_1  &= ~0x07;	               //先清掉为初始复位状态
    LPC_IOCON->R_PIO1_1  |=  0x01;		           //禁止TDO 再设置所需要的模式
    LPC_IOCON->R_PIO1_2  &= ~0x07;	               //先清掉为初始复位状态
    LPC_IOCON->R_PIO1_2 |=  0x01;		           //禁止TRST 再设置所需要的模式
    LPC_IOCON->R_PIO0_11 &= ~0x07;	   
    LPC_IOCON->R_PIO0_11 |=  0x01;		           //禁止TDI 设置为普通GPIO
    #endif	  							    
    /*使能CLKOUT管脚输出脉冲测试*/
    //LPC_IOCON->PIO0_1  &= ~0x07;
    //LPC_IOCON->PIO0_1  |=  0x01;
    /*为CLKOUT管脚输出设置脉冲源*/
    //LPC_SYSCON->CLKOUTCLKSEL = 0x03;		     //CLKOUT输出系统主时钟(PIO0_1)
    //LPC_SYSCON->CLKOUTUEN    = 0x01;		
    //LPC_SYSCON->CLKOUTUEN    = 0x00;		
    //LPC_SYSCON->CLKOUTUEN    = 0x01;
    //while ( !(LPC_SYSCON->CLKOUTUEN & 0x01) );	//Wait until updated 
    //LPC_SYSCON->CLKOUTDIV = CLKOUT_DIV_Val;	    //CLKOUT分频系数 1
	LED_DIR_OUT;								    //LED管脚配置
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -