/****************************************Copyright (c)**************************************************** ** Guangzhou ZHIYUAN electronics Co.,LTD. ** ** http://www.embedtools.com ** **--------------File Info--------------------------------------------------------------------------------- ** File name: main.c ** Last modified Date: 2010-02-04 ** Last Version: V1.0 ** Descriptions: The main() function example template ** **-------------------------------------------------------------------------------------------------------- ** Created by: Lanwuqiang ** Created date: 2010-02-05 ** Version: V1.0 ** Descriptions: 添加用户应用程序 ** **-------------------------------------------------------------------------------------------------------- ** Modified by: ZhangNingbo ** Modified date: 2010-02-25 ** Version: V1.0 ** Descriptions: GPIO中断示例程序 ** **-------------------------------------------------------------------------------------------------------- ** Modified by: ** Modified date: ** Version: ** Descriptions: ** ** Rechecked by: *********************************************************************************************************/ #include "..\config.h" /********************************************************************************************************* 宏定义 *********************************************************************************************************/ #define BEEP (1ul << 7) #define BEEP_INIT() GPIO2DIR |= BEEP /* 蜂鸣器初始化 */ #define BEEPOFF() GPIO2DATA |= BEEP /* 蜂鸣器关 */ #define BEEPON() GPIO2DATA &= ~BEEP /* 蜂鸣器开 */ #define KEY (1ul << 0) /* 按键定义PIO3_0 */ /********************************************************************************************************* ** Function name: myDelay ** Descriptions: 软件延时 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 *********************************************************************************************************/ void myDelay (INT32U ulTime) { INT32U i; i = 0; while (ulTime--) { for (i = 0; i < 5000; i++); } } /********************************************************************************************************* ** Function name: GPIOIsr ** Descriptions: GPIO中断服务函数 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 *********************************************************************************************************/ void GPIOIsr (void) { GPIO3IC |= KEY; /* 清除中断标志 */ BEEPON(); myDelay(200); BEEPOFF(); } /********************************************************************************************************* ** Function name: main ** Descriptions: 当硬件基于EasyCortexM3-1300开发板时,需要将P2.7与BEEP短接,P3.0与KEY1短接,每按下 ** 一次按键蜂鸣器响一声。 ** 用户也可以根据要求自行设计底板连接。 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 *********************************************************************************************************/ int main (void) { targetInit(); /* 初始化目标板,切勿删除 */ pinInit(); /* 引脚初始化 */ SYSAHBCLKCTRL |= (1ul << 6); /* 使能GPIO模块时钟 */ BEEP_INIT(); GPIO3DIR &= ~KEY; /* 设置P3.0为输入 */ GPIO3IS = 0x00; /* P3.0为边沿中断 */ GPIO3IEV |= KEY; /* 上升沿中断 */ GPIO3IE |= KEY; /* P3.0中断不屏蔽 */ zyIsrSet(NVIC_PIOINT3, (unsigned long)GPIOIsr, PRIO_ONE); while (1) ; } /********************************************************************************************************* End Of File *********************************************************************************************************/