⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.h

📁 用MSP430F149控制普通射频芯片CC1000的双向通信程序(串口、液晶显示)
💻 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 + -