main.c

来自「LPC1114_例程和教程」· C语言 代码 · 共 62 行

C
62
字号
/****************************************************
*名  称:	UART测试文件							*
*功  能:   测试UART								*
*备  注:											*
*****************************************************/
/**************** 头文件调用&&宏定义 ****************/
#include "LPC11xx.h"
#include "UART.h"
/******************* 全局变量定义 *******************/
extern volatile uint32_t UARTCount;
extern volatile uint8_t UARTBuffer[BUFSIZE];
/********************** 函数声明 ********************/
__inline void delay_ms(uint32_t a);
/********************** 主函数 **********************/
int main(void)
   {
      	SystemInit();				//系统初始化
		UARTInit(19200);			//串口初始化
	  	UARTSend("UART TEST OK!!!",16);	 //通过串口上传数据

		LPC_SYSCON->CLKOUTDIV=4;
	    LPC_SYSCON->CLKOUTCLKSEL=3;
	    LPC_SYSCON->CLKOUTUEN=0;
	    LPC_SYSCON->CLKOUTUEN=1;
	    LPC_IOCON->PIO0_1=1;
  	    LPC_SYSCON->SYSAHBCLKCTRL |= (1<<6);
	    LPC_GPIO0->DIR=0x00000fff;
	    LPC_GPIO1->DIR=0x00000fff;
	    LPC_GPIO2->DIR=0x00000fff;
	    LPC_GPIO3->DIR=0x00000fff;
	
	  while(1)
	    {
		   LPC_GPIO0->DATA=0x00000000;
		 delay_ms(10);
		   LPC_GPIO0->DATA=0x00000fff;
		 delay_ms(10);
		 if ( UARTCount != 0 )
	       {
	           LPC_UART->IER = IER_THRE | IER_RLS;			/* Disable RBR */
	           UARTSend( (uint8_t *)UARTBuffer, UARTCount );
	            UARTCount = 0;
	           LPC_UART->IER = IER_THRE | IER_RLS | IER_RBR;	/* Re-enable RBR */
           	}
		}
   }
/********************** 函数定义 ********************/
/****************************************************
*名  称:	延时函数    							*
*参  数:   延时时间								*
*备  注:	内联函数    							*
*****************************************************/
__inline void delay_ms(uint32_t a)    //1ms延时函数
{                           
uint32_t i;
while( --a != 0){
   for(i = 0; i<5500; i++);
}             
}

/****************************************************/

⌨️ 快捷键说明

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