#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); typedef enum{ RF_MODE_IO_RX, RF_MODE_IO_TX, }rf_mode_io_te; //-------------射频模块引脚映射到转接板排针--------------- //IO1用于射频中断响应 #define RF_SI4438_IRQ_PIN BOARD_PIN_SPI_GPIOA // #define RF_SI4438_IRQ_PORT BOARD_PORT_SPI_GPIOA #define RF_SI4438_IRQ RF_SI4438_IRQ_PORT, RF_SI4438_IRQ_PIN // // #define RF_SPI_PDN_PIN BOARD_PIN_SPI_GPIOB // #define RF_SPI_PDN_PORT BOARD_PORT_SPI_GPIOB #define RF_SPI_PDN RF_SPI_PDN_PORT, RF_SPI_PDN_PIN // //用于射频收发中断响应 #define RF_SI4438_IO0_PIN BOARD_PIN_SPI_GPIOC // #define RF_SI4438_IO0_PORT BOARD_PORT_SPI_GPIOC #define RF_SI4438_IO0 RF_SI4438_IO0_PORT, RF_SI4438_IO0_PIN // //用于射频接收data out输出映射 #define RF_SI4438_IO1_PIN BOARD_PIN_SPI_GPIOD // #define RF_SI4438_IO1_PORT BOARD_PORT_SPI_GPIOD #define RF_SI4438_IO1 RF_SI4438_IO1_PORT, RF_SI4438_IO1_PIN // // #define RF_SI4438_IO2_PIN BOARD_PIN_SPI_GPIOG // #define RF_SI4438_IO2_PORT BOARD_PORT_SPI_GPIOG #define RF_SI4438_IO2 RF_SI4438_IO2_PORT, RF_SI4438_IO2_PIN // // #define RF_SI4438_IO3_PIN BOARD_PIN_SPI_GPIOH // #define RF_SI4438_IO3_PORT BOARD_PORT_SPI_GPIOH #define RF_SI4438_IO3 RF_SI4438_IO3_PORT, RF_SI4438_IO3_PIN // // #define RF_SI4438_RX_PIN BOARD_PIN_SPI_GPIOE // #define RF_SI4438_RX_PORT BOARD_PORT_SPI_GPIOE #define RF_SI4438_RX RF_SI4438_RX_PORT, RF_SI4438_RX_PIN // // #define RF_SI4438_TX_PIN BOARD_PIN_SPI_GPIOF // #define RF_SI4438_TX_PORT BOARD_PORT_SPI_GPIOF #define RF_SI4438_TX RF_SI4438_TX_PORT, RF_SI4438_TX_PIN // //-------------射频模块引脚映射到转接板排针---------------END uint8_t READ_RF_SI4438_IRQ(void); void RF_SI4438_IRQ_H(void); void RF_SI4438_IRQ_L(void); void RF_SPI_PDN_H(void); void RF_SPI_PDN_L(void); void RF_SI4438_IO0_H(void); void RF_SI4438_IO0_L(void); void RF_SI4438_IO1_H(void); void RF_SI4438_IO1_L(void); void RF_SI4438_IO2_H(void); void RF_SI4438_IO2_L(void); void RF_SI4438_IO3_H(void); void RF_SI4438_IO3_L(void); void RF_SI4438_RF_MODE(rf_mode_io_te mode); 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) //-------------将封装的API映射到射频模块硬件层---------------END #endif