📄 serialport.h
字号:
#ifndef _serialPort_h
#define _serialPort_h
/**********************串口操作头文件***************************
**定义了波特率,及串口相关的操作
***************************************************************/
#include "DataType.h"
#include "main.h"
#include "pic18.h"
#include "E2Addr.h"
#define BaudRate 9600 //波特率
#define BRGH 1 //高速方式
#define SYNC 0 //异步方式
#define LenInstru 3 //指令长度
#define LenRecBuf 3 //接收缓冲区长度
#define LenSendBuf 21 //每个通道发送缓冲区长度
#define serialChnNum 4 //通道数目
#define InstruSend0 0 //指令,发送通道0的数据
#define InstruSend1 1 //指令,发送通道1的数据
#define InstruSend2 2 //指令,发送通道2的数据
#define InstruSend3 3 //指令,发送通道3的数据
#define conAddr100 1
#define conAddr10 2
#define conAddr1 3
#define conSelfAddrMax 127
#define conSelfAddrMin 1
#if((BRGH==1)&(SYNC==0))
#define conSPBRG OSC_FREQ/16/BaudRate-1
#endif
#if((BRGH==0)&(SYNC==0))
#define conSPBRG OSC_FREQ/64/BaudRate-1
#endif
#if((BRGH==1)&(SYNC==1))
#define conSPBRG OSC_FREQ/4/BaudRate-1
#endif
/**************************数据桢结构**************************
**接受缓冲区 recBuf[0] recBuf[1] recBuf[2]
** 地址 指令 校验和=地址+指令
***************************************************************/
uint8 selfAddr; //存储本机地址
uint8 recBuf[LenRecBuf]; //接收缓冲区
uint8 sendBuf[serialChnNum][LenSendBuf]; //发送缓冲区
uint8 NumRecData; //已接收数据的数目
bool flagRecEnd; //指令是否接收完毕标志
void serialPort_Initial(void); //串口初始化
void DoInstru(void); //执行指令函数
void SetSelfAddr(uint8 setMode); //设置本机地址
void ChkRecEnd(void); //指令接收完毕?
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -