#ifndef __MYRADIO_GPIO_H_ #define __MYRADIO_GPIO_H_ #include #include #include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_spi.h" #include "board.h" #ifndef SPI_HARD #define SPI_HARD #endif typedef void (*RADIO_GPIO_CALLBACK)(uint8_t index); //-------------射频模块引脚映射到转接板排针--------------- //SPI data IO #define RF_A7169_SDIO_PIN BOARD_PIN_SPI_MOSI // #define RF_A7169_SDIO_PORT BOARD_PORT_SPI_MOSI #define RF_A7169_SDIO RF_A7169_SDIO_PORT, RF_A7169_SDIO_PIN // //SPI clock input. #define RF_A7169_SCK_PIN BOARD_PIN_SPI_CLK // #define RF_A7169_SCK_PORT BOARD_PORT_SPI_CLK #define RF_A7169_SCK RF_A7169_SCK_PORT, RF_A7169_SCK_PIN // //SPI chip select input. #define RF_A7169_SCS_PIN BOARD_PIN_SPI_GPIOB // #define RF_A7169_SCS_PORT BOARD_PORT_SPI_GPIOB #define RF_A7169_SCS RF_A7169_SCS_PORT, RF_A7169_SCS_PIN // //General purpose input/output #define RF_A7169_GPIO1_PIN BOARD_PIN_SPI_GPIOD // #define RF_A7169_GPIO1_PORT BOARD_PORT_SPI_GPIOD #define RF_A7169_GPIO1 RF_A7169_GPIO1_PORT, RF_A7169_GPIO1_PIN // //外部PA和LNA控制脚 #define RF_EXTPA_RE_PIN BOARD_PIN_SPI_GPIOE // #define RF_EXTPA_RE_PORT BOARD_PORT_SPI_GPIOE #define RF_EXTPA_RE RF_EXTPA_RE_PORT, RF_EXTPA_RE_PIN // #define RF_EXTPA_TE_PIN BOARD_PIN_SPI_GPIOF // #define RF_EXTPA_TE_PORT BOARD_PORT_SPI_GPIOF #define RF_EXTPA_TE RF_EXTPA_TE_PORT, RF_EXTPA_TE_PIN // //-------------射频模块引脚映射到转接板排针---------------END uint8_t READ_RF_A7169_GPIO1(void); void RF_A7169_GPIO1_H(void); void RF_A7169_GPIO1_L(void); void BOARD_A7169_SDIO_H(void); void BOARD_A7169_SDIO_L(void); void BOARD_A7169_SCS_H(void); void BOARD_A7169_SCS_L(void); void BOARD_A7169_SCK_H(void); void BOARD_A7169_SCK_L(void); void RF_EXT_PA_RE_H(void); void RF_EXT_PA_RE_L(void); void RF_EXT_PA_TE_H(void); void RF_EXT_PA_TE_L(void); void SET_A7169_GPIO1_IN(void); void SET_A7169_GPIO1_OUT(void); #define RF_EXT_PA_TO_TX() RF_EXT_PA_TE_H();RF_EXT_PA_RE_L() #define RF_EXT_PA_TO_RX() RF_EXT_PA_TE_L();RF_EXT_PA_RE_H() #define RF_EXT_PA_TO_IDLE() RF_EXT_PA_TE_L();RF_EXT_PA_RE_L() //-------------将封装的API映射到射频模块硬件层--------------- void myRadio_gpio_init(RADIO_GPIO_CALLBACK cb); void myRadio_gpio_intoLwPwr(bool sta); uint8_t myRadioSpi_rByte(void); void myRadioSpi_wByte(uint8_t byteToWrite); uint8_t myRadioSpi_rwByte(uint8_t byteToWrite); void myRadioSpi_wBuffer(uint8_t* pData, uint8_t len); void myRadioSpi_rBuffer(uint8_t* pData, uint8_t len); void myRadioSpi_rwBuffer(uint8_t* pDataR, uint8_t* pDataW, uint8_t len); #define SpiReadWrite(p) myRadioSpi_rwByte(p) #define SpiWriteData(p1, p2) myRadioSpi_wBuffer(p1, p2) #define SpiReadData(p1, p2) myRadioSpi_rBuffer(p1, p2) #define SpiWriteReadData(p1, p2, p3) myRadioSpi_rwBuffer(p2, p1, p3) //-------------将封装的API映射到射频模块硬件层---------------END #endif