/****************************************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: LED闪烁示例程序 ** **-------------------------------------------------------------------------------------------------------- ** 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 LED_NUM 4 /* LED数量4个 */ /********************************************************************************************************* 全局变量 *********************************************************************************************************/ const INT32U led_mask[] = {1 << 0, 1 << 1, 1 << 2, 1 << 3, 1 << 4, 1 << 5, 1 << 6, 1 << 7 }; /********************************************************************************************************* ** 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: main ** Descriptions: 当硬件基于EasyCortexM3-1300开发板时,进行LED测试需要短接P2.8与LED1、P2.9与LED2、 ** P2.10与LED3、P2.11与LED4。 ** 用户也可以根据自己的底板的设计自行连接 ** input parameters: 无 ** output parameters: 无 ** Returned value: 无 *********************************************************************************************************/ int main (void) { INT32S num = -1; INT32S dir = 1; targetInit(); /* 初始化目标板,切勿删除 */ pinInit(); /* 引脚初始化 */ SYSAHBCLKCTRL |= (1ul << 6); /* 使能GPIO模块时钟 */ GPIO2DIR |= 0xFF0; /* 设置P2.8-P2.11引脚为输出 */ while (1) { num += dir; if (num == LED_NUM) { dir = -1; num = LED_NUM - 1; } else if (num < 0) { dir = 1; num = 0; } GPIO2DATA &= ~(led_mask[num] << 8); myDelay(200); GPIO2DATA |= (led_mask[num] << 8); myDelay(200); } } /********************************************************************************************************* End Of File *********************************************************************************************************/