/*----------------------------------------------------------------
AT89S52串口中断驱动程序
--------------------------------------------------------------*/
#include <AT89X52.h>
#include <stdio.h>
#define XTAL 11059200
#define baudrate 9600
#define OLEN 8 //串行发送缓冲区大小
unsigned char ostart; //发送缓冲区起始索引
unsigned char oend; //发送缓冲区结束索引
char idata outbuf[OLEN]; //发送缓冲区存储数组
#define ILEN 8 //串行接收缓冲区大小
unsigned char istart; //接收缓冲区起始索引
unsigned char iend; //接收缓冲区结束索引
char idata inbuf[ILEN]; //接收缓冲存储数组
bit bdata sendfull; //发送缓冲区满标志
bit bdata sendactive; //发送有效标志
/*串行中断服务程序*/
static void com_isr(void) interrupt

本文提供了一段AT89S52单片机的串口中断驱动程序代码,包括串行中断服务程序、数据发送与接收函数、串口初始化及波特率设置。通过该驱动,实现了串口的中断接收和发送功能,并支持发送缓冲区管理和接收缓冲区管理,以确保串口通信的高效稳定。
2万+

被折叠的 条评论
为什么被折叠?



