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

📄 main.c

📁 LPC1114_例程和教程
💻 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 + -