/**************************************************************************** # * 文件名称: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; }