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

📄 rf.h.bak

📁 单片机与a7105组成无线收发程序2.4G多通道
💻 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 + -