receiver.h
来自「MSP430开发的使用PID算法温度控制程序 本程序通过485总线与上位机通信」· C头文件 代码 · 共 46 行
H
46 行
#ifndef __Receiver
#define __Receiver
extern char aRxBuff[];
extern char aTxBuff[];
extern unsigned char NRxBuff;
extern unsigned char NTxBuff;
extern unsigned char NTxd;
extern unsigned char StBao;
extern int nLastError;
void Cancel(void);
unsigned int cal_crc(unsigned char *pbuffer,unsigned char n_byte);
unsigned char AsciiToHex(char c);
unsigned char PackByte(char* p);
unsigned int PackWord(char* p);
unsigned long PackDword(char* p);
void ReceiverData(unsigned char sq0);
void SendCommand(const char *lpszFormat, ...);
void HandleCommand();
#define SetLastError(e) nLastError=(e) // 设置错误
#define GetLastError() nLastError // 返回错误
#define FRAME_CRC (&(aRxBuff)[NRxBuff-5]) // 返回CRC起始地址
#define FRAME_END() (aRxBuff)[NRxBuff-5] = '\0' // 以'\0'结束帧
#define FRAME_DATA (&(aRxBuff)[3]) // 返回帧数据指针
#define FRAME_CMD ((aRxBuff)[2]) // 返回帧命令字符
#define FRAME_RESET() {StBao=0; NRxBuff=0;} // 重置接收标志
#define FRAME_OK() (StBao) // 返回接收包状态, 如果完成接收为非0值
#define SMCLK 8000000L // SMCLK
#define BAUDRATE0 57600L // 与PC机通讯的波特率
#define BAUDRATE1 115200L // 与子机通讯波特率
#define GetVersion() "1.0.0000" // 仪器软件版本
#define TRY(expression) {unsigned char __i; for(__i=0; __i<10; __i++){if(expression)break;}}
//-------------------------------------------------------------------------------------------------
// 公共错误代码
//-------------------------------------------------------------------------------------------------
#define E_BUSY 0x0001 // 仪器忙, 此时只回应一些状态查询指令
#define E_IDLE 0x0000 // 仪器空闲
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?