myRadio_gpio.h 4.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #ifndef __MYRADIO_GPIO_H_
  2. #define __MYRADIO_GPIO_H_
  3. #include <stdint.h>
  4. #include "stm32f10x.h"
  5. #include "stm32f10x_gpio.h"
  6. #include "stm32f10x_spi.h"
  7. #include "board.h"
  8. #ifndef SPI_HARD
  9. #define SPI_HARD
  10. #endif
  11. typedef void (*RADIO_GPIO_CALLBACK)(uint8_t index);
  12. //-------------射频模块引脚映射到转接板排针---------------
  13. #define RF_SX126x_SPI_CLK_PIN BOARD_PIN_SPI_CLK //GPIO_Pin_5
  14. #define RF_SX126x_SPI_CLK_PORT BOARD_PORT_SPI_CLK //GPIOA
  15. #define RF_SX126x_SPI_CLK RF_SX126x_SPI_CLK_PORT, RF_SX126x_SPI_CLK_PIN //
  16. #define RF_SX126x_SPI_MISO_PIN BOARD_PIN_SPI_MISO //GPIO_Pin_6
  17. #define RF_SX126x_SPI_MISO_PORT BOARD_PORT_SPI_MISO //GPIOA
  18. #define RF_SX126x_SPI_MISO RF_SX126x_SPI_MISO_PORT, RF_SX126x_SPI_MISO_PIN //
  19. #define RF_SX126x_SPI_MOSI_PIN BOARD_PIN_SPI_MOSI //GPIO_Pin_7
  20. #define RF_SX126x_SPI_MOSI_PORT BOARD_PORT_SPI_MOSI // GPIOA
  21. #define RF_SX126x_SPI_MOSI RF_SX126x_SPI_MOSI_PORT, RF_SX126x_SPI_MOSI_PIN //
  22. #define RF_SX126x_SPI_CSN_PIN BOARD_PIN_SPI_CSN //GPIO_Pin_4
  23. #define RF_SX126x_SPI_CSN_PORT BOARD_PORT_SPI_CSN //GPIOA
  24. #define RF_SX126x_SPI_CSN RF_SX126x_SPI_CSN_PORT, RF_SX126x_SPI_CSN_PIN //
  25. //IO1用于射频中断响应
  26. #define RF_SX126x_IO1_PIN BOARD_PIN_SPI_GPIOB //GPIO_Pin_0
  27. #define RF_SX126x_IO1_PORT BOARD_PORT_SPI_GPIOB //GPIOB
  28. #define RF_SX126x_IO1 RF_SX126x_IO1_PORT, RF_SX126x_IO1_PIN //
  29. //IO3预留
  30. #define RF_SX126x_IO3_PIN BOARD_PIN_SPI_GPIOC //GPIO_Pin_1
  31. #define RF_SX126x_IO3_PORT BOARD_PORT_SPI_GPIOC //GPIOB
  32. #define RF_SX126x_IO3 RF_SX126x_IO3_PORT, RF_SX126x_IO3_PIN //
  33. //RST射频芯片复位
  34. #define RF_SX126x_RST_PIN BOARD_PIN_SPI_GPIOA //GPIO_Pin_5
  35. #define RF_SX126x_RST_PORT BOARD_PORT_SPI_GPIOA //GPIOC
  36. #define RF_SX126x_RST RF_SX126x_RST_PORT, RF_SX126x_RST_PIN //
  37. //BUSY用于射频芯片工作状态检测
  38. #define RF_SX126x_BUSY_PIN BOARD_PIN_SPI_GPIOD //GPIO_Pin_2
  39. #define RF_SX126x_BUSY_PORT BOARD_PORT_SPI_GPIOD //GPIO_Pin_2
  40. #define RF_SX126x_BUSY RF_SX126x_BUSY_PORT, RF_SX126x_BUSY_PIN //
  41. //外部PA和LNA控制脚
  42. #define RF_SX126x_EXTPA_RE_PIN BOARD_PIN_SPI_GPIOE //GPIO_Pin_10
  43. #define RF_SX126x_EXTPA_RE_PORT BOARD_PORT_SPI_GPIOE //GPIO_Pin_10
  44. #define RF_SX126x_EXTPA_RE RF_SX126x_EXTPA_RE_PORT, RF_SX126x_EXTPA_RE_PIN //
  45. #define RF_SX126x_EXTPA_TE_PIN BOARD_PIN_SPI_GPIOF //GPIO_Pin_11
  46. #define RF_SX126x_EXTPA_TE_PORT BOARD_PORT_SPI_GPIOF //GPIOB
  47. #define RF_SX126x_EXTPA_TE RF_SX126x_EXTPA_TE_PORT, RF_SX126x_EXTPA_TE_PIN //
  48. //-------------射频模块引脚映射到转接板排针---------------END
  49. uint8_t READ_RF_SX126x_IO1(void);
  50. uint8_t READ_RF_SX12xx_DIO3(void);
  51. uint8_t READ_RF_SX126x_BUSY(void);
  52. void RF_SX126x_IO1_H(void);
  53. void RF_SX126x_IO1_L(void);
  54. void RF_SX126x_IO3_H(void);
  55. void RF_SX126x_IO3_L(void);
  56. void RF_SX126x_RST_H(void);
  57. void RF_SX126x_RST_L(void);
  58. void RF_SX126x_EXT_PA_RE_H(void);
  59. void RF_SX126x_EXT_PA_RE_L(void);
  60. void RF_SX126x_EXT_PA_TE_H(void);
  61. void RF_SX126x_EXT_PA_TE_L(void);
  62. #define RF_SX126x_EXT_PA_TO_TX() RF_SX126x_EXT_PA_TE_H();RF_SX126x_EXT_PA_RE_L()
  63. #define RF_SX126x_EXT_PA_TO_RX() RF_SX126x_EXT_PA_TE_L();RF_SX126x_EXT_PA_RE_H()
  64. #define RF_SX126x_EXT_PA_TO_IDLE() RF_SX126x_EXT_PA_TE_L();RF_SX126x_EXT_PA_RE_L()
  65. void myRadio_gpio_init(RADIO_GPIO_CALLBACK cb);
  66. uint8_t myRadioSpi_rwByte(uint8_t byteToWrite);
  67. void myRadioSpi_wBuffer(uint8_t* pData, uint8_t len);
  68. void myRadioSpi_rBuffer(uint8_t* pData, uint8_t len);
  69. void BOARD_SPI_NSS_H(void);
  70. void BOARD_SPI_NSS_L(void);
  71. //-------------将封装的API映射到射频模块硬件层---------------
  72. #define SpiReadWrite(p) myRadioSpi_rwByte(p)
  73. #define SpiWriteData(p1, p2) myRadioSpi_wBuffer(p1, p2)
  74. #define SpiReadData(p1, p2) myRadioSpi_rBuffer(p1, p2)
  75. //-------------将封装的API映射到射频模块硬件层---------------END
  76. #endif