uart.h
来自「程序概述: 这是个具体产品程序」· C头文件 代码 · 共 61 行
H
61 行
// --------------------------------------------------------------------------
// UART.h
// --------------------------------------------------------------------------
#ifndef __UART_H__
#define __UART_H__
/*----------------------------------------------------------------------------+
| Constant Definition |
+----------------------------------------------------------------------------*/
// 24MHz & SMOD = 3, SM2 = 1
#define UART_RATE9600 0xF3 // 定义波特率9600bps
/*----------------------------------------------------------------------------+
| Type Definition & Macro |
+----------------------------------------------------------------------------*/
#define MAX_FRAME_LENGTH 8 // 每一帧数据中的有效数据的长度
// 定义帧结构体
typedef struct
{
BYTE Addr[4]; // 地址,4个字节,对分机的通信:[0x00][楼栋][楼层][房号],对门口机的通信:[0x00][楼栋][0x00][单元]
BYTE nLength; // 数据长度,只包含有效数据的长度
BYTE aData[MAX_FRAME_LENGTH+1]; // 有效数据+接收到的校验和,校验和为前面地址、长度、方向以及数据的总校验和
}t_Frame;
// 定义存放帧数据的联合体
typedef union
{
t_Frame Frame;
BYTE aData[sizeof(t_Frame)];
} FRAME, *pFRAME;
/*----------------------------------------------------------------------------+
| Global Variables |
+----------------------------------------------------------------------------*/
extern idata FRAME RxFrame; // 接收数据帧缓冲
extern idata FRAME TxFrame; // 发送数据帧缓冲
extern data BYTE RxFrameLength; // 接收到的数据帧的长度
extern data BYTE TxFrameLength; // 要发送的数据帧的长度,不包括校验和以及帧结束字节
/*----------------------------------------------------------------------------+
| Function Prototype |
+----------------------------------------------------------------------------*/
void InitUART(void);
void RS485AckCancelCommand(void);
void RS485SendCancelCommand(void);
void RS485SendTxFrame(void);
#if 0
void RS485SendByte(BYTE aData);
void RS485SendBuffer(BYTE *pSource, BYTE nLength);
void RS232SendByte(BYTE bData);
#endif
/*----------------------------------------------------------------------------+
| End of header file |
+----------------------------------------------------------------------------*/
#endif // __UART_H__
/*------------------------ Nothing Below This Line --------------------------*/
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?