#ifndef __MYRADIO_GPIO_H_ #define __MYRADIO_GPIO_H_ #include #include #include "stm32f10x.h" #include "stm32f10x_gpio.h" #include "stm32f10x_spi.h" #include "board.h" #define SPI_4LINE #define SPI_HARD typedef void (*RADIO_GPIO_CALLBACK)(uint8_t index); //-------------射频模块引脚映射到转接板排针--------------- //SPI data IO #define RF_A5133_SDIO_PIN BOARD_PIN_SPI_MOSI // #define RF_A5133_SDIO_PORT BOARD_PORT_SPI_MOSI #define RF_A5133_SDIO RF_A5133_SDIO_PORT, RF_A5133_SDIO_PIN // //SPI clock input. #define RF_A5133_SCK_PIN BOARD_PIN_SPI_CLK // #define RF_A5133_SCK_PORT BOARD_PORT_SPI_CLK #define RF_A5133_SCK RF_A5133_SCK_PORT, RF_A5133_SCK_PIN // //SPI chip select input. #define RF_A5133_SCS_PIN BOARD_PIN_SPI_CSN // #define RF_A5133_SCS_PORT BOARD_PORT_SPI_CSN #define RF_A5133_SCS RF_A5133_SCS_PORT, RF_A5133_SCS_PIN // //General purpose input/output #define RF_A5133_GPIO1_PIN BOARD_PIN_SPI_GPIOD // #define RF_A5133_GPIO1_PORT BOARD_PORT_SPI_GPIOD #define RF_A5133_GPIO1 RF_A5133_GPIO1_PORT, RF_A5133_GPIO1_PIN // //General purpose input/output //可配置为SPI的MISO脚 #define RF_A5133_GPIO2_PIN BOARD_PIN_SPI_MISO // #define RF_A5133_GPIO2_PORT BOARD_PORT_SPI_MISO #define RF_A5133_GPIO2 RF_A5133_GPIO2_PORT, RF_A5133_GPIO2_PIN // //General purpose input/output #define RF_A5133_CKO_PIN BOARD_PIN_SPI_GPIOA // #define RF_A5133_CKO_PORT BOARD_PORT_SPI_GPIOA #define RF_A5133_CKO RF_A5133_CKO_PORT, RF_A5133_CKO_PIN // //外部PA和LNA控制脚 #define RF_EXTPA_CTR_PIN BOARD_PIN_SPI_GPIOE // #define RF_EXTPA_CTR_PORT BOARD_PORT_SPI_GPIOE #define RF_EXTPA_CTR RF_EXTPA_CTR_PORT, RF_EXTPA_CTR_PIN // #define RF_EXTPA_RE_PIN BOARD_PIN_SPI_GPIOG // #define RF_EXTPA_RE_PORT BOARD_PORT_SPI_GPIOG #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_A5133_GPIO1(void); void RF_A5133_GPIO1_H(void); void RF_A5133_GPIO1_L(void); void BOARD_A5133_SDIO_H(void); void BOARD_A5133_SDIO_L(void); void BOARD_A5133_SCS_H(void); void BOARD_A5133_SCS_L(void); void BOARD_A5133_SCK_H(void); void BOARD_A5133_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 RF_EXT_PA_CTR_H(void); void RF_EXT_PA_CTR_L(void); void SET_A5133_GPIO1_IN(void); void SET_A5133_GPIO1_OUT(void); #define RF_EXT_PA_TO_TX() RF_EXT_PA_CTR_H();RF_EXT_PA_TE_H();RF_EXT_PA_RE_L() #define RF_EXT_PA_TO_RX() RF_EXT_PA_CTR_H();RF_EXT_PA_TE_L();RF_EXT_PA_RE_H() #define RF_EXT_PA_TO_IDLE() RF_EXT_PA_CTR_L();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); void gpio_delayUs(uint32_t time); void gpio_delayMs(uint32_t time); #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