?? rf.h.bak
字號:
/***************************************************************************
;copyright :shenzhen coolwaveasia
;filename :rf.h
;RF :7105
;rf crystal :16MHZ
;RF rate :250K
;startdate :2008.7.24
;enddate :
;writeby :dengyihong
;revision :A
;***************************************************************************
; --------------------
; P1.0 |1 40| VCC
; P1.1 |2 39| P0.0 ---- LCD_DATA0
; RF_SCK ---- P1.2 |3 38| P0.1 ---- LCD_DATA1
; RF_SDIO ---- P1.3 |4 37| P0.2 ---- LCD_DATA2
; P1.4 |5 36| P0.3 ---- LCD_DATA3
; RF_SCS ---- P1.5 |6 35| P0.4 ---- LCD_DATA4
; P1.6 |7 34| P0.5 ---- LCD_DATA5
; P1.7 |8 33| P0.6 ---- LCD_DATA6
; RST/Vpd |9 32| P0.7 ---- LCD_DATA7
; RXD/P3.0 |10 31| /EA/Vpp
; TXD/P3.1 |11 30| ALE/PROG
; RF_GPIO1 --- /INT0/P3.2 |12 29| /PSEN
; RF_GPIO2 --- /INT1/P3.3 |13 28| P2.7 ---- KEY4
; T0/P3.4 |14 27| P2.6 ---- KEY3
; T1/P3.5 |15 26| P2.5 ---- KEY2
; /WR/P3.6 |16 25| P2.4 ---- KEY1
; /RD/P3.7 |17 24| P2.3
; XTAL2 |18 23| P2.2 ---- LCD_RW
; XTAL1 |19 22| P2.1 ---- LCD_RS
; VSS |20 21| P2.0 ---- LCD_EN
; --------------------
; W78E52B
;**************************************************************************/
#ifndef _RF_H
#define _RF_H
#include "maindef.h"
#include "io.h"
#define RF_FIFO_LEN RF_DATA_PACKET_SIZE
// ID CODE define
#define RF_ID_CODE0 0x56
#define RF_ID_CODE1 0x59
#define RF_ID_CODE2 0x5a
#define RF_ID_CODE3 0x65
//A7105 register address define
#define RF_REG_MODE 0x00
#define RF_REG_MODE_CONTROL 0x01
#define RF_REG_CALIBRATION 0x02
#define RF_REG_FIFO_REGISTER1 0x03
#define RF_REG_FIFO_REGISTER2 0x04
#define RF_REG_FIFO_DATA 0x05
#define RF_REG_ID_DATA 0x06
#define RF_REG_RC_OSC1 0x07
#define RF_REG_RC_OSC2 0x08
#define RF_REG_RC_OSC3 0x09
#define RF_REG_CKO_CONTROL 0x0a
#define RF_REG_GPIO1_CONTROL 0x0b
#define RF_REG_GPIO2_CONTROL 0x0c
#define RF_REG_CLOCK 0x0d
#define RF_REG_DATA_RATE 0x0e
#define RF_REG_PLL1 0x0f
#define RF_REG_PLL2 0x10
#define RF_REG_PLL3 0x11
#define RF_REG_PLL4 0x12
#define RF_REG_PLL5 0x13
#define RF_REG_TX1 0x14
#define RF_REG_TX2 0x15
#define RF_REG_DELAY1 0x16
#define RF_REG_DELAY2 0x17
#define RF_REG_RX 0x18
#define RF_REG_RXGAIN1 0x19
#define RF_REG_RXGAIN2 0x1a
#define RF_REG_RXGAIN3 0x1b
#define RF_REG_RXGAIN4 0x1c
#define RF_REG_RSSI_THRESHOLD 0x1d
#define RF_REG_ADC_CONTROL 0x1e
#define RF_REG_CODE1 0x1f
#define RF_REG_CODE2 0x20
#define RF_REG_CODE3 0x21
#define RF_REG_IF_CALIBRATION1 0x22
#define RF_REG_IF_CALIBRATION2 0x23
#define RF_REG_VCO_CURRENT_CAL 0x24
#define RF_REG_VCO_BAND_CAL1 0x25
#define RF_REG_VCO_BAND_CAL2 0x26
#define RF_REG_BATTERY_DETECT 0x27
#define RF_REG_TX_TEST 0x28
#define RF_REG_RX_DEM_TEST1 0x29
#define RF_REG_RX_DEM_TEST2 0x2a
#define RF_REG_CHARGE_PUMP 0x2b
#define RF_REG_CRYSTAL_TEST 0x2c
#define RF_REG_PLL_TEST 0x2d
#define RF_REG_VCO_TEST1 0x2e
#define RF_REG_VCO_TEST2 0x2f
#define RF_REG_IFDT 0x30
#define RF_REG_RSSI_CALE 0x31
#define RF_REG_FILTER_TEST 0x32
//A7105 command define
#define RF_CMD_SLEEP 0x80
#define RF_CMD_IDLE 0x90
#define RF_CMD_STBY 0xa0
#define RF_CMD_PLL 0xb0
#define RF_CMD_RX 0xc0
#define RF_CMD_TX 0xd0
#define RF_CMD_TX_FIFO_RESET 0xe0
#define RF_CMD_RX_FIFO_RESET 0xf0
#define RF_SCK_HIGH() RF_SCK = 1
#define RF_SCK_LOW() RF_SCK = 0
#define RF_SDIO_HIGH() RF_SDIO = 1
#define RF_SDIO_LOW() RF_SDIO = 0
#define RF_SCS_HIGH() RF_SCS = 1
#define RF_SCS_LOW() RF_SCS = 0
#define GET_RF_SDIO() RF_SDIO
#define GET_RF_GPIO1() RF_GPIO1
//7105 控制函數聲明
void ini_rf(void);
void A7105_config_chip(void);
void set_rf_io(void);
void A7105_calibration(void);
void A7105_entry_stby(void);
void A7105_setup_wpll(void);
void A7105_setup_channel(U8 channel);
void A7105_entry_rx(void);
void A7105_entry_tx(void);
void A7105_reset_chip(void);
void A7105_reset_RX_fifo(void);
void A7105_reset_TX_fifo(void);
void write_register(U8 bits,U8 value);
U8 read_register(void);
void A7105_write_command(U8 command);
void A7105_write_register(U8 address,U8 value);
U8 A7105_read_register(U8 address);
void A7105_write_ID(void);
void A7105_read_ID(U8 *read_ptr);
void write_data_to_fifo(U8 send_cnt);
void read_data_from_fifo(void);
void send_data_by_RF(U8 send_byte_cnt);
void rec_rf_data(void);
extern U8 *Rf_Rec_Ptr; //指向RF接收BUF指針(從RF接收數據時用)
extern U8 *Uart_Send_Ptr; //指向RF接收BUF指針(發送接收到的RF數據到PC時用)
extern U8 *Uart_Rec_Ptr; //指向UART接收BUF指針(從UART接收數據時用)
extern U8 *Rf_Send_Ptr; //指向UART接收BUF指針(通過RF發送數據時用)
extern U8 Rf_Rec_Buf[];
extern U8 Uart_Rec_Buf[];
extern void delay_2us(U16 delay_cnt);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -