serialport.h

来自「采用PICC18编写的单片机源代码」· C头文件 代码 · 共 54 行

H
54
字号
#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 + =
减小字号Ctrl + -
显示快捷键?