#ifndef __MYRADIO_GPIO_H_ #define __MYRADIO_GPIO_H_ #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); //-------------射频模块引脚映射到转接板排针--------------- #define RF_SX126x_SPI_CLK_PIN BOARD_PIN_SPI_CLK //GPIO_Pin_5 #define RF_SX126x_SPI_CLK_PORT BOARD_PORT_SPI_CLK //GPIOA #define RF_SX126x_SPI_CLK RF_SX126x_SPI_CLK_PORT, RF_SX126x_SPI_CLK_PIN // #define RF_SX126x_SPI_MISO_PIN BOARD_PIN_SPI_MISO //GPIO_Pin_6 #define RF_SX126x_SPI_MISO_PORT BOARD_PORT_SPI_MISO //GPIOA #define RF_SX126x_SPI_MISO RF_SX126x_SPI_MISO_PORT, RF_SX126x_SPI_MISO_PIN // #define RF_SX126x_SPI_MOSI_PIN BOARD_PIN_SPI_MOSI //GPIO_Pin_7 #define RF_SX126x_SPI_MOSI_PORT BOARD_PORT_SPI_MOSI // GPIOA #define RF_SX126x_SPI_MOSI RF_SX126x_SPI_MOSI_PORT, RF_SX126x_SPI_MOSI_PIN // #define RF_SX126x_SPI_CSN_PIN BOARD_PIN_SPI_CSN //GPIO_Pin_4 #define RF_SX126x_SPI_CSN_PORT BOARD_PORT_SPI_CSN //GPIOA #define RF_SX126x_SPI_CSN RF_SX126x_SPI_CSN_PORT, RF_SX126x_SPI_CSN_PIN // //IO1用于射频中断响应 #define RF_SX126x_IO1_PIN BOARD_PIN_SPI_GPIOB //GPIO_Pin_0 #define RF_SX126x_IO1_PORT BOARD_PORT_SPI_GPIOB //GPIOB #define RF_SX126x_IO1 RF_SX126x_IO1_PORT, RF_SX126x_IO1_PIN // //IO3预留 #define RF_SX126x_IO3_PIN BOARD_PIN_SPI_GPIOC //GPIO_Pin_1 #define RF_SX126x_IO3_PORT BOARD_PORT_SPI_GPIOC //GPIOB #define RF_SX126x_IO3 RF_SX126x_IO3_PORT, RF_SX126x_IO3_PIN // //RST射频芯片复位 #define RF_SX126x_RST_PIN BOARD_PIN_SPI_GPIOA //GPIO_Pin_5 #define RF_SX126x_RST_PORT BOARD_PORT_SPI_GPIOA //GPIOC #define RF_SX126x_RST RF_SX126x_RST_PORT, RF_SX126x_RST_PIN // //BUSY用于射频芯片工作状态检测 #define RF_SX126x_BUSY_PIN BOARD_PIN_SPI_GPIOD //GPIO_Pin_2 #define RF_SX126x_BUSY_PORT BOARD_PORT_SPI_GPIOD //GPIO_Pin_2 #define RF_SX126x_BUSY RF_SX126x_BUSY_PORT, RF_SX126x_BUSY_PIN // //外部PA和LNA控制脚 #define RF_SX126x_EXTPA_RE_PIN BOARD_PIN_SPI_GPIOE //GPIO_Pin_10 #define RF_SX126x_EXTPA_RE_PORT BOARD_PORT_SPI_GPIOE //GPIO_Pin_10 #define RF_SX126x_EXTPA_RE RF_SX126x_EXTPA_RE_PORT, RF_SX126x_EXTPA_RE_PIN // #define RF_SX126x_EXTPA_TE_PIN BOARD_PIN_SPI_GPIOF //GPIO_Pin_11 #define RF_SX126x_EXTPA_TE_PORT BOARD_PORT_SPI_GPIOF //GPIOB #define RF_SX126x_EXTPA_TE RF_SX126x_EXTPA_TE_PORT, RF_SX126x_EXTPA_TE_PIN // //-------------射频模块引脚映射到转接板排针---------------END uint8_t READ_RF_SX126x_IO1(void); uint8_t READ_RF_SX12xx_DIO3(void); uint8_t READ_RF_SX126x_BUSY(void); void RF_SX126x_IO1_H(void); void RF_SX126x_IO1_L(void); void RF_SX126x_IO3_H(void); void RF_SX126x_IO3_L(void); void RF_SX126x_RST_H(void); void RF_SX126x_RST_L(void); void RF_SX126x_EXT_PA_RE_H(void); void RF_SX126x_EXT_PA_RE_L(void); void RF_SX126x_EXT_PA_TE_H(void); void RF_SX126x_EXT_PA_TE_L(void); #define RF_SX126x_EXT_PA_TO_TX() RF_SX126x_EXT_PA_TE_H();RF_SX126x_EXT_PA_RE_L() #define RF_SX126x_EXT_PA_TO_RX() RF_SX126x_EXT_PA_TE_L();RF_SX126x_EXT_PA_RE_H() #define RF_SX126x_EXT_PA_TO_IDLE() RF_SX126x_EXT_PA_TE_L();RF_SX126x_EXT_PA_RE_L() void myRadio_gpio_init(RADIO_GPIO_CALLBACK cb); 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 BOARD_SPI_NSS_H(void); void BOARD_SPI_NSS_L(void); //-------------将封装的API映射到射频模块硬件层--------------- #define SpiReadWrite(p) myRadioSpi_rwByte(p) #define SpiWriteData(p1, p2) myRadioSpi_wBuffer(p1, p2) #define SpiReadData(p1, p2) myRadioSpi_rBuffer(p1, p2) //-------------将封装的API映射到射频模块硬件层---------------END #endif