STC12C5A系列单片机串口编程

本文档提供了STC12C5A系列单片机串口编程的详细指南,包括头文件uart.h和源文件uart.c的代码示例。内容涵盖串口初始化、发送和接收函数,以及如何实现串口1和串口2的条件编译。通过主函数main.c的测试,展示了如何处理接收到的数据并将其回显。
摘要由CSDN通过智能技术生成

串口头文件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如下:

==========================================&

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值