initdev.c

来自「LPC2129实现从SPI通讯和两个串口定时器中断」· C语言 代码 · 共 100 行

C
100
字号
#include "InitDev.h"

#include 	"UART1.H"
#include 	"IRQ_Timer0.h"
#include 	"comm.h"
#include    "I2cInt.h"



/****************************************************************************
* 名称:InitDev(void)
* 功能:初台化硬件
* 入口参数:无      
* 出口参数:返回值为1时表示初化成功,为0表除参数出错
****************************************************************************/
void InitIRQ(void)
{
	
	VICIntSelect = 0x00000000;		  
	VICIntEnClr = 0xffffffff;
	
		 											  
	/* 设置UART0中断允许  	VICIntEnable=0x00000250;	 */
	VICVectAddr1 = (int)IRQ_UART0;     	// 设置UART0向量地址
	VICVectCntl1= 0x26;         // UART0中断通道分配到IRQ slot1
	VICIntEnable |= (1<<6);      		// 使能UART0中断  	
 	 
/**/ 
	/* 设置UART1中断允许	   	
	VICVectAddr3 = (int)IRQ_Timer0;      // 设置UART0向量地址
	VICVectCntl3 = 0x24;       			  // UART1中断通道分配到IRQ slot 0,即优先级最高	0   	
	VICIntEnable |= (1<<4);           	// 使能UART0中断*/	

	VICVectCntl2 = 0x29;    // I2C通道分配到IRQ slot 2,
    VICVectAddr2 = (int32)IRQ_I2C;     // 设置I2C中断向量地址 
    VICIntEnable = 0x0200;           // 使能I2C中断 
  
    /* 设置定时器0中断IRQ */
 /*   VICVectCntl3 = 0x24;             // 定时器0中断通道分配最高优先级(向量控制器0)
    VICVectAddr3 = (uint32)IRQ_Timer0;       // 设置中断服务程序地址向量 
    VICIntEnable = 0x00000010;        // 使能定时器0中断
 */		

														   	 
}
/****************************************************************************
* 名称:InitU1IRQ(void)
* 功能:初台化硬件
* 入口参数:无      
* 出口参数:返回值为1时表示初化成功,为0表除参数出错
****************************************************************************/
void InitU1IRQ()
{
	 /* 设置UART1中断允许  */  		 
	VICVectAddr3 = (int)IRQ_UART1;      // 设置UART1向量地址
	VICVectCntl3 = 0x00000027;         // UART1中断通道分配到IRQ slot3 	
	VICIntEnable |= (1<<7); 	        	// 使能UART0中断
}	   
/****************************************************************************
* 名称:InitDev(void)
* 功能:初台化硬件
* 入口参数:无      
* 出口参数:无
****************************************************************************/
void InitDev(void)
{	

	PINSEL0 = 0x00000000;		//初始化
	PINSEL1 = 0x00000000;

	IO0DIR = 0x00400000;
/*	IO1DIR = 0x00000000; */
   	
	/*初始化串口通讯*/	
	 UART1_Init(19200);
	/*初始化所有中断地址*/	
	 InitComm ( );

	
	 
/*	ADS1256_Init();	*/
	InitTimer0();

 
	  								   
/*初始化所有中断地址 */
 	InitIRQ();	
	I2C_Init(400000);	 
}					 
void Led_on()
{
	IO0DIR|=0x00200000;
	IO0SET|=0x00200000;
}

void Led_off()
{
	IO0DIR|=0x00200000;
	IO0CLR|=0x00200000;
}

⌨️ 快捷键说明

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