串口头文件uart.h如下:
===================================================================
/*
* File : uart.h
* Description : This file is UART driver header of STC12C5A serial signal chip.
* Author : Chao
* Copyright : Chao
*
* History
* ----------------------
* Rev : 0.0
* Date : 20/08/2011
*
* create.
* ----------------------
*/
#ifndef UART_H_
#define UART_H_
//---------------Config-------------------------//
#define UART1_EN //使能串口1
#define UART1_RECEIVE_EN //允许串口1中断接收函数
#define UART2_EN //使能串口2
#define UART2_RECEIVE_EN //允许串口2中断接收函数
//#define ECHO //使能回显
//---------------Defines-------------------------//
#define SystemFosc 22118400 //系统时钟:22.1184MHz
#define UartBaud 9600 //串口波特率
#define UART_BUFFER_SIZE 16 //串口数据缓冲区大小
#define UartEndChar '>' //串口数据结束字符
//---------------Type define-------------------------//
typedef struct {
unsigned int receive_flag; //数据接收标志
unsigned char data_length; //数据缓冲区中有效数据个数
unsigned char receive_buffer[UART_BUFFER_SIZE]; //数据接收缓冲区
void (* init)(void); //串口初始化函数
void (* send_byte)(unsigned char ddata); //发送单个字符
void (* send_string)(unsigned char *ddata, unsigned char length); //发送字符串
}UART_T;
//---------------Extern-------------------------//
#ifdef UART1_EN
extern UART_T uart1;
#endif
#ifdef UART2_EN
extern UART_T uart2;
#endif
#endif /*UART_H_*/
============================================================================================
串口编程C程序文件uart.c如下:
==========================================&