目录:
1:驱动简述;
2:代码示例;
3:串口波形;
正文:
1:驱动简述;
驱动实现串口中断接收和发送数据,缓冲区使用环形缓冲区。发送:手动置RI中断标志位为1,发生中断,在中断发送函数中将需要发送的数据一一发送出去,具体见示例;接收:在中断接收函数中保存接收到满足协议的数据,后置接收成功标志位,最终在main函数while循环中轮询接收成功标志位是否置1,如果置1,处理接收到的数据。
2:代码示例;
以下代码模仿modbus协议,贴串口发送函数和中断处理函数,适用于51系列单片机,具体的串口协议可参考modbus协议或者自己根据需求定义。
uart.h文件
#define COM_TX1_Lenth 20
#define COM_RX1_Lenth 20
typedef struct
{
unsigned cha