ARM的串口基本操作函数测试(基于LPC2134)
2016-05-03 来源:eefocus
- /****************************************************************************
- # * 文件名称:UART0.h
- # * 功能:声明关于UART0的相关全局函数
- # * 版本:1.0
- # * 作者:jianqi2010
- # ****************************************************************************/
- void UART_Init(void);
- void UART_Send_Byte(char ch);
- void UART_Send_String(char* p);
- /****************************************************************************
- # * 文件名称:UART0.c
- # * 功能:定义关于UART0的相关全局函数
- # * 版本:1.0
- # * 作者:jianqi2010
- # ****************************************************************************/
- #include'UART0.h'
- #include'config.h'
- #define BAUD 9600//波特率
- void UART_Init(void)
- {
- uint16 Fdiv;
- U0LCR=0x83;//相关校验位、数据长度等的设置,DLAB = 1,可设置波特率
- Fdiv=(Fpclk/16)/BAUD;
- U0DLM=Fdiv/256;
- U0DLL=Fdiv%256;
- U0LCR=0X03;
- }
- /****************************************************************************
- # * 名称:UART_Send_Char
- # * 功能:UART0发送字节函数
- # * 入口参数:等待发送的字节
- # * 出口参数:无
- # ****************************************************************************/
- void UART_Send_Byte(char ch)
- {
- U0THR = ch;
- while((U0LSR&0x40)==0); //等待数据发送完毕
- }
- /****************************************************************************
- # * 名称:UART_Send_String
- # * 功能:UART0发送字符串函数
- # * 入口参数:等待发送的字符串
- # * 出口参数:无
- # ****************************************************************************/
- void UART_Send_String(char* p)
- {
- while (*p!='/0')
- {
- UART_Send_Byte(*p++);
- }
- }
- /****************************************************************************
- # * 文件名称:main.c
- # * 功能:测试UART0的发送程序
- # * 版本:1.0
- # * 作者:jianqi2010
- # ****************************************************************************/
- #include'config.h'
- #include'UART0.h'
- //测试函数
- int main(void)
- {
- PINSEL0=0X05;
- IO0DIR = 0x01;
- UART_Init();
- UART_Send_String('HellowWord');
- return 0;
- }
相关文章