myRadio_gpio.h 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  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_4LINE
  10. #define SPI_HARD
  11. typedef void (*RADIO_GPIO_CALLBACK)(uint8_t index);
  12. //-------------射频模块引脚映射到转接板排针---------------
  13. //SPI data IO
  14. #define RF_A5133_SDIO_PIN BOARD_PIN_SPI_MOSI //
  15. #define RF_A5133_SDIO_PORT BOARD_PORT_SPI_MOSI
  16. #define RF_A5133_SDIO RF_A5133_SDIO_PORT, RF_A5133_SDIO_PIN //
  17. //SPI clock input.
  18. #define RF_A5133_SCK_PIN BOARD_PIN_SPI_CLK //
  19. #define RF_A5133_SCK_PORT BOARD_PORT_SPI_CLK
  20. #define RF_A5133_SCK RF_A5133_SCK_PORT, RF_A5133_SCK_PIN //
  21. //SPI chip select input.
  22. #define RF_A5133_SCS_PIN BOARD_PIN_SPI_CSN //
  23. #define RF_A5133_SCS_PORT BOARD_PORT_SPI_CSN
  24. #define RF_A5133_SCS RF_A5133_SCS_PORT, RF_A5133_SCS_PIN //
  25. //General purpose input/output
  26. #define RF_A5133_GPIO1_PIN BOARD_PIN_SPI_GPIOD //
  27. #define RF_A5133_GPIO1_PORT BOARD_PORT_SPI_GPIOD
  28. #define RF_A5133_GPIO1 RF_A5133_GPIO1_PORT, RF_A5133_GPIO1_PIN //
  29. //General purpose input/output
  30. //可配置为SPI的MISO脚
  31. #define RF_A5133_GPIO2_PIN BOARD_PIN_SPI_MISO //
  32. #define RF_A5133_GPIO2_PORT BOARD_PORT_SPI_MISO
  33. #define RF_A5133_GPIO2 RF_A5133_GPIO2_PORT, RF_A5133_GPIO2_PIN //
  34. //General purpose input/output
  35. #define RF_A5133_CKO_PIN BOARD_PIN_SPI_GPIOA //
  36. #define RF_A5133_CKO_PORT BOARD_PORT_SPI_GPIOA
  37. #define RF_A5133_CKO RF_A5133_CKO_PORT, RF_A5133_CKO_PIN //
  38. //外部PA和LNA控制脚
  39. #define RF_EXTPA_CTR_PIN BOARD_PIN_SPI_GPIOE //
  40. #define RF_EXTPA_CTR_PORT BOARD_PORT_SPI_GPIOE
  41. #define RF_EXTPA_CTR RF_EXTPA_CTR_PORT, RF_EXTPA_CTR_PIN //
  42. #define RF_EXTPA_RE_PIN BOARD_PIN_SPI_GPIOG //
  43. #define RF_EXTPA_RE_PORT BOARD_PORT_SPI_GPIOG
  44. #define RF_EXTPA_RE RF_EXTPA_RE_PORT, RF_EXTPA_RE_PIN //
  45. #define RF_EXTPA_TE_PIN BOARD_PIN_SPI_GPIOF //
  46. #define RF_EXTPA_TE_PORT BOARD_PORT_SPI_GPIOF
  47. #define RF_EXTPA_TE RF_EXTPA_TE_PORT, RF_EXTPA_TE_PIN //
  48. //-------------射频模块引脚映射到转接板排针---------------END
  49. uint8_t READ_RF_A5133_GPIO1(void);
  50. void RF_A5133_GPIO1_H(void);
  51. void RF_A5133_GPIO1_L(void);
  52. void BOARD_A5133_SDIO_H(void);
  53. void BOARD_A5133_SDIO_L(void);
  54. void BOARD_A5133_SCS_H(void);
  55. void BOARD_A5133_SCS_L(void);
  56. void BOARD_A5133_SCK_H(void);
  57. void BOARD_A5133_SCK_L(void);
  58. void RF_EXT_PA_RE_H(void);
  59. void RF_EXT_PA_RE_L(void);
  60. void RF_EXT_PA_TE_H(void);
  61. void RF_EXT_PA_TE_L(void);
  62. void RF_EXT_PA_CTR_H(void);
  63. void RF_EXT_PA_CTR_L(void);
  64. void SET_A5133_GPIO1_IN(void);
  65. void SET_A5133_GPIO1_OUT(void);
  66. // 大功率模块需要控制以下引脚,普通功率的不需要调用,可以自行删除
  67. #define RF_EXT_PA_TO_TX() RF_EXT_PA_CTR_L();RF_EXT_PA_TE_H();RF_EXT_PA_RE_L()
  68. #define RF_EXT_PA_TO_RX() RF_EXT_PA_CTR_H();RF_EXT_PA_TE_L();RF_EXT_PA_RE_H()
  69. #define RF_EXT_PA_TO_IDLE() RF_EXT_PA_CTR_L();RF_EXT_PA_TE_L();RF_EXT_PA_RE_L()
  70. //-------------将封装的API映射到射频模块硬件层---------------
  71. void myRadio_gpio_init(RADIO_GPIO_CALLBACK cb);
  72. void myRadio_gpio_intoLwPwr(bool sta);
  73. uint8_t myRadioSpi_rByte(void);
  74. void myRadioSpi_wByte(uint8_t byteToWrite);
  75. uint8_t myRadioSpi_rwByte(uint8_t byteToWrite);
  76. void myRadioSpi_wBuffer(uint8_t* pData, uint8_t len);
  77. void myRadioSpi_rBuffer(uint8_t* pData, uint8_t len);
  78. void myRadioSpi_rwBuffer(uint8_t* pDataR, uint8_t* pDataW, uint8_t len);
  79. void gpio_delayUs(uint32_t time);
  80. void gpio_delayMs(uint32_t time);
  81. #define SpiReadWrite(p) myRadioSpi_rwByte(p)
  82. #define SpiWriteData(p1, p2) myRadioSpi_wBuffer(p1, p2)
  83. #define SpiReadData(p1, p2) myRadioSpi_rBuffer(p1, p2)
  84. #define SpiWriteReadData(p1, p2, p3) myRadioSpi_rwBuffer(p2, p1, p3)
  85. //-------------将封装的API映射到射频模块硬件层---------------END
  86. #endif