📄 lpc2220lib.c
字号:
#ifndef _Include
#include "Include.h"
#endif
#include "rt_sys.h"
#include "stdio.h"
//#pragma import(__use_no_semihosting_swi)
#pragma import(__use_two_region_memory)
/****************************************************************************
* 名称:DelayNS()
* 功能:长软件延时
* 入口参数:dly 延时参数,值越大,延时越久
* 出口参数:无
****************************************************************************/
void DelayNS(INT32U dly)
{
INT32U i;
for(; dly>0; dly--)
for(i=0; i<100; i++);
}
/*********************************************************************************************************
** 函数名称: CLOCKInit
** 功能描述: 系统工作频率
** 说 明:
********************************************************************************************************/
void CLOCKInit(void)
{
if((Fcco<320000000)&&(Fcclk<60000001))
{
PLLCON = 1;
PLLCFG =(Fcclk/Fosc-1)|((Fcco/(2*Fcclk)-1)<<5);
VPBDIV =(unsigned char)(Fcclk/Fpclk);
PLLFEED = 0xaa;
PLLFEED = 0x55;
while((PLLSTAT & (1 << 10)) == 0);
PLLCON = 3;
PLLFEED = 0xaa;
PLLFEED = 0x55;
}
}
/*********************************************************************************************************
** 函数名称: MEMInit
** 功能描述: 存储器初始化
** 说 明:
********************************************************************************************************/
void MEMInit(void)
{
// BCFG0=AT_0|MW_0|BM_0|WP_0|WPERR_0|BUSERR_0|WST2_0|RBLE_0|WST1_0|IDCY_0;
BCFG2=AT_2|MW_2|BM_2|WP_2|WPERR_2|BUSERR_2|WST2_2|RBLE_2|WST1_2|IDCY_2;
/* 设置存储器加速模块 */
MAMCR = 2;
#if Fcclk < 20000000
MAMTIM = 1;
#else
#if Fcclk < 40000000
MAMTIM = 2;
#else
MAMTIM = 3;
#endif
#endif
}
/*********************************************************************************************************
** 函数名称: IRQ_Exception
** 功能描述: 中断异常处理程序,用户根据需要自己改变程序
** 输 入: 无
** 输 出: 无
********************************************************************************************************/
void __irq IRQ_Handler(void)
{
while(1); // 这一句替换为自己的代码
}
/*********************************************************************************************************
** 函数名称: FIQ_Exception
** 功能描述: 快速中断异常处理程序,用户根据需要自己改变程序
** 输 入: 无
** 输 出: 无
********************************************************************************************************/
void FIQ_Handler(void)
{
while(1); // 这一句替换为自己的代码
}
/*********************************************************************************************************
** 函数名称: VICInit
** 功能描述: 向量中断控制器初始化
********************************************************************************************************/
void VICInit(void)
{
VICIntEnClr = 0xffffffff;
VICVectAddr = 0;
VICIntSelect = 0; //所有中断置为IRQ模式
VICDefVectAddr = (unsigned int)IRQ_Handler;
}
/****************************************************************************
* 名称:WdtFeed()
* 功能:看门狗喂狗操作。
* 入口参数:无
* 出口参数:无
****************************************************************************/
void WdtFeed(void)
{
WDFEED = 0xAA;
WDFEED = 0x55;
}
/*********************************************************************************************************
** 函数名称: WdtInit
** 功能描述: 看门狗初始化
********************************************************************************************************/
void WdtInit(void)
{
WDTC = 0x100000; // 设置WDTC,喂狗重装值
WDMOD = 0x03; // 设置并启动WDT
WdtFeed(); // 进行喂狗操作
}
/*********************************************************************************************************
** 函数名称: GPIOInit
** 功能描述: IO口控制器初始化
** 说 明:开串口0打开主JTAG
********************************************************************************************************/
void GPIOInit(void)
{
PINSEL0=0x00000000; //P0口0-15口,为0时多用作I/O
PINSEL1=0x00000000; //P0口16-31口,为0时多用作I/O
IO0DIR=BIT_5|BIT_6|BIT_7|BIT_8|BIT_9|BIT_10|BIT_11; //IO口输入、输出设定,置一为输出
}
/*********************************************************************************************************
** 函数名称: Reset
** 功能描述: 中断异常处理程序,用户根据需要自己改变程序
** 输 入: 无
** 输 出: 无
********************************************************************************************************/
void Reset()
{
CLOCKInit();
MEMInit();
VICInit();
GPIOInit();
UART0Init(9600); //
TimeInit0(1);
P_HZKASCII();
// WdtInit();
}
/*********************************************************************************************************
** End Of File
********************************************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -