myRadio_gpio.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #ifndef __MYRADIO_GPIO_H_
  2. #define __MYRADIO_GPIO_H_
  3. #include <stdint.h>
  4. #include <stdbool.h>
  5. #include "stm32f10x.h"
  6. #include "stm32f10x_gpio.h"
  7. #include "stm32f10x_spi.h"
  8. #include "board.h"
  9. // #define SPI_HARD
  10. typedef void (*RADIO_GPIO_CALLBACK)(uint8_t index);
  11. //-------------射频模块引脚映射到转接板排针---------------
  12. //IO1用于射频中断响应,中断为高电平,上升沿,初始化为输入下拉
  13. #define RF_SX1278_DIO0_PIN BOARD_PIN_SPI_GPIOB //
  14. #define RF_SX1278_DIO0_PORT BOARD_PORT_SPI_GPIOB
  15. #define RF_SX1278_DIO0 RF_SX1278_DIO0_PORT, RF_SX1278_DIO0_PIN //
  16. //
  17. #define RF_SX1278_DIO1_PIN BOARD_PIN_SPI_GPIOC //
  18. #define RF_SX1278_DIO1_PORT BOARD_PORT_SPI_GPIOC
  19. #define RF_SX1278_DIO1 RF_SX1278_DIO1_PORT, RF_SX1278_DIO1_PIN //
  20. //用于接收灵敏度测试data out输出映射
  21. #define RF_SX1278_DIO2_PIN BOARD_PIN_SPI_GPIOD //
  22. #define RF_SX1278_DIO2_PORT BOARD_PORT_SPI_GPIOD
  23. #define RF_SX1278_DIO2 RF_SX1278_DIO2_PORT, RF_SX1278_DIO2_PIN //
  24. //
  25. #define RF_SX1278_DIO3_PIN BOARD_PIN_SPI_GPIOE //
  26. #define RF_SX1278_DIO3_PORT BOARD_PORT_SPI_GPIOE
  27. #define RF_SX1278_DIO3 RF_SX1278_DIO3_PORT, RF_SX1278_DIO3_PIN //
  28. //
  29. #define RF_SX1278_DIO4_PIN BOARD_PIN_SPI_GPIOF //
  30. #define RF_SX1278_DIO4_PORT BOARD_PORT_SPI_GPIOF
  31. #define RF_SX1278_DIO4 RF_SX1278_DIO4_PORT, RF_SX1278_DIO4_PIN //
  32. //
  33. #define RF_SX1278_DIO5_PIN BOARD_PIN_SPI_GPIOG //
  34. #define RF_SX1278_DIO5_PORT BOARD_PORT_SPI_GPIOG
  35. #define RF_SX1278_DIO5 RF_SX1278_DIO5_PORT, RF_SX1278_DIO5_PIN //
  36. //
  37. #define RF_SX1278_RESET_PIN BOARD_PIN_SPI_GPIOA //
  38. #define RF_SX1278_RESET_PORT BOARD_PORT_SPI_GPIOA
  39. #define RF_SX1278_RESET RF_SX1278_RESET_PORT, RF_SX1278_RESET_PIN //
  40. //外部PA和LNA控制脚
  41. #define RF_EXTPA_RE_PIN BOARD_PIN_SPI_GPIOE //
  42. #define RF_EXTPA_RE_PORT BOARD_PORT_SPI_GPIOE
  43. #define RF_EXTPA_RE RF_EXTPA_RE_PORT, RF_EXTPA_RE_PIN //
  44. #define RF_EXTPA_TE_PIN BOARD_PIN_SPI_GPIOF //
  45. #define RF_EXTPA_TE_PORT BOARD_PORT_SPI_GPIOF
  46. #define RF_EXTPA_TE RF_EXTPA_TE_PORT, RF_EXTPA_TE_PIN //
  47. //-------------射频模块引脚映射到转接板排针---------------END
  48. uint8_t READ_RF_SX1278_DIO0(void);
  49. uint8_t READ_RF_SX1278_DIO1(void);
  50. uint8_t READ_RF_SX1278_DIO2(void);
  51. uint8_t READ_RF_SX1278_DIO3(void);
  52. uint8_t READ_RF_SX1278_DIO4(void);
  53. uint8_t READ_RF_SX1278_DIO5(void);
  54. void RF_SX1278_DIO0_H(void);
  55. void RF_SX1278_DIO0_L(void);
  56. void RF_SX1278_DIO1_H(void);
  57. void RF_SX1278_DIO1_L(void);
  58. void RF_SX1278_DIO2_H(void);
  59. void RF_SX1278_DIO2_L(void);
  60. void RF_SX1278_DIO3_H(void);
  61. void RF_SX1278_DIO3_L(void);
  62. void RF_SX1278_DIO4_H(void);
  63. void RF_SX1278_DIO4_L(void);
  64. void RF_SX1278_DIO5_H(void);
  65. void RF_SX1278_DIO5_L(void);
  66. void RF_EXT_PA_RE_H(void);
  67. void RF_EXT_PA_RE_L(void);
  68. void RF_EXT_PA_TE_H(void);
  69. void RF_EXT_PA_TE_L(void);
  70. #define RF_EXT_PA_TO_TX() //RF_EXT_PA_TE_H();RF_EXT_PA_RE_L()
  71. #define RF_EXT_PA_TO_RX() //RF_EXT_PA_TE_L();RF_EXT_PA_RE_H()
  72. #define RF_EXT_PA_TO_IDLE() //RF_EXT_PA_TE_L();RF_EXT_PA_RE_L()
  73. void BOARD_SPI_NSS_H(void);
  74. void BOARD_SPI_NSS_L(void);
  75. //-------------将封装的API映射到射频模块硬件层---------------
  76. void myRadio_gpio_init(RADIO_GPIO_CALLBACK cb);
  77. void myRadio_gpio_intoLwPwr(bool sta);
  78. uint8_t myRadioSpi_rwByte(uint8_t byteToWrite);
  79. void myRadioSpi_wBuffer(uint8_t* pData, uint8_t len);
  80. void myRadioSpi_rBuffer(uint8_t* pData, uint8_t len);
  81. void myRadioSpi_rwBuffer(uint8_t* pDataR, uint8_t* pDataW, uint8_t len);
  82. #define SpiReadWrite(p) myRadioSpi_rwByte(p)
  83. #define SpiWriteData(p1, p2) myRadioSpi_wBuffer(p1, p2)
  84. #define SpiReadData(p1, p2) myRadioSpi_rBuffer(p1, p2)
  85. #define SpiWriteReadData(p1, p2, p3) myRadioSpi_rwBuffer(p2, p1, p3)
  86. #define RF_SPI_NSS_H() BOARD_SPI_NSS_H()
  87. #define RF_SPI_NSS_L() BOARD_SPI_NSS_L()
  88. //-------------将封装的API映射到射频模块硬件层---------------END
  89. #endif