#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_HARD typedef void (*RADIO_GPIO_CALLBACK)(uint8_t index); //-------------射频模块引脚映射到转接板排针--------------- //IO1用于射频中断响应,中断为高电平,上升沿,初始化为输入下拉 #define RF_SX1278_DIO0_PIN BOARD_PIN_SPI_GPIOB // #define RF_SX1278_DIO0_PORT BOARD_PORT_SPI_GPIOB #define RF_SX1278_DIO0 RF_SX1278_DIO0_PORT, RF_SX1278_DIO0_PIN // // #define RF_SX1278_DIO1_PIN BOARD_PIN_SPI_GPIOC // #define RF_SX1278_DIO1_PORT BOARD_PORT_SPI_GPIOC #define RF_SX1278_DIO1 RF_SX1278_DIO1_PORT, RF_SX1278_DIO1_PIN // //用于接收灵敏度测试data out输出映射 #define RF_SX1278_DIO2_PIN BOARD_PIN_SPI_GPIOD // #define RF_SX1278_DIO2_PORT BOARD_PORT_SPI_GPIOD #define RF_SX1278_DIO2 RF_SX1278_DIO2_PORT, RF_SX1278_DIO2_PIN // // #define RF_SX1278_DIO3_PIN BOARD_PIN_SPI_GPIOE // #define RF_SX1278_DIO3_PORT BOARD_PORT_SPI_GPIOE #define RF_SX1278_DIO3 RF_SX1278_DIO3_PORT, RF_SX1278_DIO3_PIN // // #define RF_SX1278_DIO4_PIN BOARD_PIN_SPI_GPIOF // #define RF_SX1278_DIO4_PORT BOARD_PORT_SPI_GPIOF #define RF_SX1278_DIO4 RF_SX1278_DIO4_PORT, RF_SX1278_DIO4_PIN // // #define RF_SX1278_DIO5_PIN BOARD_PIN_SPI_GPIOG // #define RF_SX1278_DIO5_PORT BOARD_PORT_SPI_GPIOG #define RF_SX1278_DIO5 RF_SX1278_DIO5_PORT, RF_SX1278_DIO5_PIN // // #define RF_SX1278_RESET_PIN BOARD_PIN_SPI_GPIOA // #define RF_SX1278_RESET_PORT BOARD_PORT_SPI_GPIOA #define RF_SX1278_RESET RF_SX1278_RESET_PORT, RF_SX1278_RESET_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_SX1278_DIO0(void); uint8_t READ_RF_SX1278_DIO1(void); uint8_t READ_RF_SX1278_DIO2(void); uint8_t READ_RF_SX1278_DIO3(void); uint8_t READ_RF_SX1278_DIO4(void); uint8_t READ_RF_SX1278_DIO5(void); void RF_SX1278_DIO0_H(void); void RF_SX1278_DIO0_L(void); void RF_SX1278_DIO1_H(void); void RF_SX1278_DIO1_L(void); void RF_SX1278_DIO2_H(void); void RF_SX1278_DIO2_L(void); void RF_SX1278_DIO3_H(void); void RF_SX1278_DIO3_L(void); void RF_SX1278_DIO4_H(void); void RF_SX1278_DIO4_L(void); void RF_SX1278_DIO5_H(void); void RF_SX1278_DIO5_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); #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() void BOARD_SPI_NSS_H(void); void BOARD_SPI_NSS_L(void); //-------------将封装的API映射到射频模块硬件层--------------- void myRadio_gpio_init(RADIO_GPIO_CALLBACK cb); void myRadio_gpio_intoLwPwr(bool sta); 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) #define RF_SPI_NSS_H() BOARD_SPI_NSS_H() #define RF_SPI_NSS_L() BOARD_SPI_NSS_L() //-------------将封装的API映射到射频模块硬件层---------------END #endif