📄 main.c
字号:
/****************************************************
*名 称: RGB测试文件 *
*功 能: RGB三种颜色输出 *
*备 注: 2011.1.26 *
贞明电子:http://shop58972409.taobao.com * *
*****************************************************/
/**************** 头文件调用&&宏定义 ****************/
#include "LPC11xx.h"
#include "GPIO.H"
/******************* 全局变量定义 *******************/
#define RED() GPIOSetValue(PORT0,11,0) //RED
#define GREEN() GPIOSetValue(PORT0,1,0) //GREEN
#define BLUE() GPIOSetValue(PORT1,2,0) //BLUE
#define REDClr() GPIOSetValue(PORT0,11,1) //RED dark
#define GREENClr() GPIOSetValue(PORT0,1,1) //GREEN dark
#define BLUEClr() GPIOSetValue(PORT1,2,1) //BLUE dark
/********************** 函数声明 ********************/
__inline void delay_ms(uint32_t a);
void UserIO(void);
/********************** 主函数 **********************/
int main(void)
{
SystemInit(); //系统初始化,包括使能时钟
GPIOInit(); //GPIO初始化,使能GPIO模块时钟
UserIO();
GPIOSetDir(2,8,1); //设置P2.8为输出,LED1
GPIOSetDir(2,9,1); //设置P2.9为输出,LED2
GPIOSetDir(3,4,1); //设置P3.4为输出,LED3
//调用头文件中函数输出方法
GPIOSetValue(PORT2,8,0); //设置P2.8输出0,点亮LED1
GPIOSetValue(PORT2,9,0); //设置P2.9输出0,点亮LED2
GPIOSetValue(PORT3,4,0); //设置P3.4输出0,点亮LED3
delay_ms(500);
//直接使用寄存器
LPC_GPIO2->DATA|=(((1<<8)|(1<<9))); //P2.8,P2.9输出1,LED1,LED2灭
LPC_GPIO3->DATA|=(1<<4); //LED3灭
delay_ms(500);
while(1)
{
RED();
GREENClr();
BLUEClr();
delay_ms(500);
REDClr();
GREEN();
BLUEClr();
delay_ms(500);
REDClr();
GREENClr();
BLUE();
delay_ms(500);
RED();
GREEN();
BLUEClr();
delay_ms(500);
REDClr();
GREEN();
BLUE();
delay_ms(500);
RED();
GREENClr();
BLUE();
delay_ms(500);
RED();
GREEN();
BLUE();
delay_ms(500);
}
}
/********************** 函数定义 ********************/
/****************************************************
*名 称: 延时函数 *
*参 数: 延时时间 *
*备 注: 内联函数 *
*****************************************************/
__inline void delay_ms(uint32_t a) //1ms延时函数
{
uint32_t i;
while( --a != 0)
{
for(i = 0; i<5500; i++);
}
}
/****************************************************
*名 称: 延时函数 *
*参 数: 延时时间 *
*备 注: 内联函数 *
*****************************************************/
void UserIO(void) //1ms延时函数
{
LPC_IOCON->JTAG_TDI_PIO0_11=0x001; //PIO0_11 B
LPC_IOCON->JTAG_nTRST_PIO1_2=0x001; //PIO1_2 G
GPIOSetDir(PORT0,11,1); //R out
GPIOSetDir(PORT0,1,1); //G out
GPIOSetDir(PORT1,2,1); //B out
}
/****************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -