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

📄 lpc2220lib.c

📁 使用ads1.2编译器
💻 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 + -