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

📄 modemhw.h

📁 无线射频收发芯片cc1020的校准程序代码
💻 H
字号:

/*                                                                           *
 * Revision history:                                                         *
 *                                                                           *
 * $Log: modemhw.h,v $
 * Revision 1.6  2005/11/21 16:38:02  tos
 * Aligned sync pattern with recommendations in the datasheet.
 *
 * Revision 1.5  2005/04/21 13:03:50  tos
 * Entries to support Errata Note 04.
 *
 * Revision 1.4  2004/03/23 16:44:24  tos
 * Introduced RSSI measurement (based on algorithm in SmartRF Studio).
 *
 * Revision 1.3  2003/09/18 14:51:26  tos
 * Minor mod's:
 *  - Made AFC_CONTROL = 0x87 as default for 868/915 MHz band.
 *  - Made rf-packet extension as #define.
 *
 * Mod's:
 *
 * Revision 1.1  2003/07/31 13:17:27  tos
 * Initial version in CVS.
 *
 *
 *                                                                           *
 ****************************************************************************/


/* Pin usage definitions */
#define PDO         RC4
#define PDI         RC5
#define PCLK        RC3
#define PSEL        RC2
#define DIO         RC1
#define DCLK        RB0
#define CHP_OUT     RB2

#define RD_LED      RA2
#define BUTTON1     RA2
#define CARRIER_LED RA4
#define TD_LED      RA5
#define BUTTON2     RA5

#define READY       RC0
#define DATA_OUT    RC6
#define DATA_IN     RC7
#define AWAKE       RB1
#define SYNC        RA4
#define PD          RB4
#define RX_TX       RB5


#define FALSE 0
#define TRUE (!FALSE)

#define ON  TRUE
#define OFF FALSE

#define MIN(a, b)  ((a < b) ? a : b)
#define MAX(a, b)  ((a > b) ? a : b)

#define HEADER_SIZE     4       // 4 bytes header 

#define TX_BUFFER_SIZE 64       // Size (in bytes) of transmit buffer
#define RX_BUFFER_SIZE 64       // Size (in bytes) of receive ring-buffer

#define PREAMBLE_LENGTH 4       // Number of bytes of preamble to send
#define PREAMBLE_REQ    4       // Number of bits required in addition to
                                // the initial 8 bits for the preamble to be
                                // accepted

#define PREAMBLE_BYTE           0xAA

#define VALID_PREAMBLE_BYTE_1   0x55
#define VALID_PREAMBLE_BYTE_2   0xAA


#define UI1 0xD3                // First byte of unique identifier
#define UI2 0x91                // Second byte of unique identifier

#define BUTTON1_CHAR  'Y'
#define BUTTON2_CHAR  'Z'

#define RFPACKET_EXTENSION  3   // Number of bits to send on RF after end-of-packet:
                                // maintain output power until last bit of RF-packet
                                // has definitely been transmitted on the air.

// Time-out values
#define CAL_TIMEOUT    0x7FFE
#define LOCK_TIMEOUT   0x7FFE
#define RESET_TIMEOUT  0x7FFE
#define RSSI_TIMEOUT   0x3000
#define INIT_TIMEOUT   0x0010   // Corresponds to approx. 150 usec
#define BUTTON_TIMEOUT 0x6000

// Maximum number of re-calibration attempts upon calibration failure
#define CAL_ATTEMPT_MAX   4

// LOCK status definitions
#define  LOCK_NOK         0x00
#define  LOCK_OK          0x01
#define  LOCK_RECAL_OK    0x02

// Macros for turning on and off the LEDs

// RXLED = Red
#define SET_RXLED(STATE)                           \
  TRISA = (STATE) ? (TRISA&~0x04) : (TRISA|0x04);

// TXLED = Yellow
#define SET_TXLED(STATE)                           \
  TRISA = (STATE) ? (TRISA&~0x20) : (TRISA|0x20);


// Define timer 2 macros:
#define TIMER2_INIT(config, time) \
        TMR2ON=0;                 \
        TMR2IF=0;                 \
        T2CON=config;             \
        PR2=time;                 \
        TMR2=0;                   \
        TMR2ON=1;

#define TIMER2_TIMEOUT TMR2IF

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -