?? uart.h
字號:
// --------------------------------------------------------------------------
// 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 + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -