⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serialcom.h

📁 C51 串口通信 包括解析报文
💻 H
字号:
/*
 * FileName : <serialCom.h>
 * Description : 串口操作的 头文件
 * 
 * 
 */

#define SIZE_IN_BUFFER 64                             //接收 缓冲区长度
#define SIZE_OUT_BUFFER 64                            //发送 缓冲区长度

typedef struct serialStruct
{//串口的各种属性
    unsigned char status;                          //当前状态
	unsigned char mode;                            //当前类型 [mode == 0 => 232] or [mode ==1 => 485]
   	unsigned char protocol;                        //通信规程:协议种类
    unsigned char local;                           //本串口地址 (有多个串口时 区分)
    unsigned char cmd;                             //命令字
	unsigned char length;                          //报文字节长度
	unsigned char checkSum;                        //检验和
    unsigned char inAddress;                       //接收缓冲区的 存数偏置        serial[1] com -> host's buffer 

	unsigned char outAddress;                      //发送缓冲区的 发送位置偏置 host's buffer -> serial[1] com
	unsigned char outNumber;                       //发送数据的 个数(这个数是一个与 transAddress 有数学运算关系)

    unsigned char timer;                           //定时数
 
    unsigned char token;                           //0x00:初始化
                                      //接收标志范围:0x0f:接收缓冲区满
                                      //接收报文标志:0xf0:报文接收中
                                                   //0xf8:报文接收完整
                                                   //0xff:报文处理完
} idata Structserial,idata *pStructserial;

//公用变量声明
extern unsigned char idata _aFrameHeader[1][2];    //报文帧头 低维---协议 高维---帧头
extern Structserial idata serial[1];               //多个串口时 可以重新定义数组个数

extern unsigned char idata _aInBuffer[SIZE_IN_BUFFER];    //接收缓冲区
extern unsigned char idata _aOutBuffer[SIZE_OUT_BUFFER];  //发送缓冲区

//公用函数的声明
extern void Com_Open(unsigned char mode, unsigned char baudNumber);// 初始化某个串口---上级程序调用
extern void Com_Operate(unsigned char comport);//对某个串口 操作
extern void Com_Event(void);//中断服务程序

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -