📄 main.h
字号:
/* *
* Revision history: *
* *
* $Log: main.h,v $
* Revision 2.1 2003/04/24 12:43:49 tos
* Cosmetic change: added revision history for CVS.
*
* *
****************************************************************************/
#define HEADER_SIZE 4 /* 4 bytes header */
#define PREAMBLE_LENGTH 10 /* Number of bytes of preamble to send */
#define PREAMBLE_REQ 7 /* Number of bits required in addition to */
/* the initial 8 bits for the preamble to be */
/* accepted */
#define DATA_LENGTH 64
#ifdef CRC16
#define CRC_SIZE 2
#else
#define CRC_SIZE 1
#endif
// 这里TX_BUFFER_SIZE指的是实际要发送的字节长度,所以如果要
// 保证一次最多能发送64个有效数据的话,那么考虑帧头和同步码
// 的长度以及CRC校验码的长度后TX_BUFFER_SIZE的值就是它们四者
// 的总和了
#define TX_BUFFER_SIZE (DATA_LENGTH+HEADER_SIZE+PREAMBLE_LENGTH+CRC_SIZE) /* Size (in bytes) of transmit buffer */
// RX_BUFFER_SIZE指的是实际能接收的字节长度,如果我们要保证
// 一次最多能接受64个有效数据的话,那么考虑到数据后还有CRC校
// 验码,所以RX_BUFFER_SIZE的值就应该是64与CRC长度之和了
#define RX_BUFFER_SIZE (DATA_LENGTH+CRC_SIZE) /* Size (in bytes) of receive ring-buffer */
#define UI1 0x33 /* First byte of unique identifier */
#define UI2 0xcc /* Second byte of unique identifier */
#define FALSE 0
#define TRUE (!FALSE)
/* This struct stores various flags in a space-efficient manner */
//extern volatile struct
// {
// unsigned char PreambleFound:1;
// unsigned char UI1Found:1;
// unsigned char LastPreambleBit:1;
// unsigned char LockAverage:1;
// unsigned char UnlockAverage:1;
// };
extern enum StateType {IDLE_STATE,RX_STATE,TX_STATE} State;
extern volatile enum StateType NextState;
extern unsigned char TXBuffer[TX_BUFFER_SIZE];
extern unsigned char RXBuffer[RX_BUFFER_SIZE];
extern unsigned char ShiftReg;
/*
union {
unsigned char ShiftReg;
struct {
unsigned char ShiftRegLSB :1;
unsigned char :1;
unsigned char :1;
unsigned char :1;
unsigned char :1;
unsigned char :1;
unsigned char :1;
unsigned char ShiftRegMSB :1;
};
};
*/
extern unsigned char BitCounter;
extern unsigned char TXBufferIndex;
extern unsigned char RXBufferReadIndex;
extern unsigned char RXBufferWriteIndex;
extern unsigned char BytesToSend;
extern unsigned char BytesToReceive;
//extern unsigned char PreambleCount;
extern unsigned char PreambleError;
extern unsigned char PreambleEnd;
extern unsigned char PreambleNextbit;
extern unsigned char ByteCounter;
extern const unsigned char UnitAddress;
extern unsigned char LockAverage;
extern unsigned char UnlockAverage;
extern unsigned char RecOver;
//extern unsigned char EEPROMCC1000Config[33];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -