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

📄 main.c

📁 力天电子 dsp源码
💻 C
字号:
/******************************************************************/
/*Copyright (C), 2008-2009, 力天电子,LiTian Tech.Co.Ltd.		  */
/*  Module Name   : XINT13        							  	  */
/*  File Name     : main.c	   									  */        
/*  Author   	  : 侯长波                                        */     
/*  Create Date   : 2009/12/27                                    */      
/*  Version   	  : 2.0                                           */          
/*  Function      : 			         					      */                       
/*  Description   : 外部中断13的使用				              */            
/*  Support       : www.LT430.com 				                  */             
/******************************************************************/

/*****************头文件********************/  
#include "DSP281x_Device.h"
#include "System.h"

/****************端口宏定义*****************/
#define S1 GpioDataRegs.GPEDAT.bit.GPIOE2
#define LED1_DIR GpioMuxRegs.GPBDIR.bit.GPIOB0
#define LED1_TOGGLE GpioDataRegs.GPBTOGGLE.bit.GPIOB0
#define LED1_DAT GpioDataRegs.GPBDAT.bit.GPIOB0 

/****************常量宏定义*****************/ 

/***************全局变量定义****************/

/****************函数声明*******************/ 
void Manage_S1(void); //按键1处理程序
void Init_XINT13(void);
interrupt void KEY(void); 

/*------------------------------------------*/
/*形式参数:void                            */
/*返回值:void				                */
/*函数描述:主函数			                */
/*------------------------------------------*/ 
void main(void)
{
	InitSysCtrl();  // 系统初始化子程序
	Init_XINT13();
	LED1_DAT=1;//发光二极管对应引脚初始化
	EALLOW;
	LED1_DIR=1;//发光二极管对应引脚输出
	EDIS;
	while(1);   
} 

/*------------------------------------------*/
/*形式参数:void		            		*/
/*返回值:void				    			*/
/*函数描述:按键S1的处理程序    	        	*/
/*------------------------------------------*/
void Manage_S1(void)
{
	LED1_TOGGLE=1;//取反
}
 
/*------------------------------------------*/
/*形式参数:void                            */
/*返回值:void				                */
/*函数描述:XINT13中断设置                   */
/*------------------------------------------*/ 	    
void Init_XINT13(void)
{
    DINT;     //关闭总中断		
	EALLOW;
	GpioMuxRegs.GPEMUX.bit.XNMI_XINT13_GPIOE2 = 1; //引脚配置成XINT13	
	XIntruptRegs.XNMICR.bit.POLARITY=0;//下降沿产生中断
	XIntruptRegs.XNMICR.bit.SELECT=1; //XNMI连接到XINT13
	XIntruptRegs.XNMICR.bit.ENABLE=0; //禁止非屏蔽中断NMI
	PieVectTable.XINT13= &KEY; //中断服务程序入口地址放入中断向量表
	EDIS;
	IER|= M_INT13;//使能M_INT13中断
	EINT;
}

/*------------------------------------------*/
/*形式参数:void                            */
/*返回值:void				                */
/*函数描述:XNMI中断处理函数 	            */
/*------------------------------------------*/ 
interrupt void KEY(void)
{
	unsigned int i;  
	DINT;//关闭总中断
	for(i=0;i<2000;i++); //键盘消抖动
	if(S1==0) 
		Manage_S1();
	while(S1==0);//等待按键释放
    EINT;   //开总中断
}  



 

⌨️ 快捷键说明

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