myRadio_gpio.h 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #ifndef __MYRADIO_GPIO_H_
  2. #define __MYRADIO_GPIO_H_
  3. #include <stdint.h>
  4. #include "at32f413_board.h"
  5. #include "at32f413_clock.h"
  6. #include "at32f413_gpio.h"
  7. #include "at32f413_spi.h"
  8. #include "board.h"
  9. #ifndef SPI_SOFT_3LINE
  10. #define SPI_HARD
  11. #endif
  12. // #define SPI_SOFT_3LINE
  13. typedef void (*RADIO_GPIO_CALLBACK)(uint8_t index);
  14. //-------------射频模块引脚映射到转接板排针---------------
  15. #define BOARD_PIN_SPI_CLK GPIO_PINS_5 //SPI1_SCK(8)
  16. #define BOARD_PORT_SPI_CLK GPIOA //DAC_OUT2 ADC12_IN5
  17. #define BOARD_GPIO_SPI_CLK BOARD_PORT_SPI_CLK, BOARD_PIN_SPI_CLK //
  18. #define BOARD_PIN_SPI_MISO GPIO_PINS_6 //SPI1_MISO(8)
  19. #define BOARD_PORT_SPI_MISO GPIOA // TIM8_BKIN/ADC12_IN6
  20. // TIM3_CH1(8)
  21. #define BOARD_GPIO_SPI_MISO BOARD_PORT_SPI_MISO, BOARD_PIN_SPI_MISO //
  22. #define BOARD_PIN_SPI_MOSI GPIO_PINS_7 //SPI1_MOSI(8)/
  23. #define BOARD_PORT_SPI_MOSI GPIOA // TIM8_CH1N/ADC12_IN7
  24. // TIM3_CH2(8)
  25. #define BOARD_GPIO_SPI_MOSI BOARD_PORT_SPI_MOSI, BOARD_PIN_SPI_MOSI //
  26. #define BOARD_PIN_SPI_CSN GPIO_PINS_4 //SPI1_NSS(8)/
  27. #define BOARD_PORT_SPI_CSN GPIOA // USART2_CK(8)
  28. // DAC_OUT1/ADC12_IN4
  29. #define BOARD_GPIO_SPI_CSN BOARD_PORT_SPI_CSN, BOARD_PIN_SPI_CSN //
  30. //用于射频中断响应
  31. #define RF_PAN3029_IRQ_PIN GPIO_PINS_1 //
  32. #define RF_PAN3029_IRQ_PORT GPIOB
  33. #define RF_PAN3029_IRQ RF_PAN3029_IRQ_PORT, RF_PAN3029_IRQ_PIN //
  34. //
  35. #define RF_PAN3029_NRST_PIN // GPIO_PINS_1 //
  36. #define RF_PAN3029_NRST_PORT // GPIOB
  37. #define RF_PAN3029_NRST // RF_PAN3029_NRST_PORT, RF_PAN3029_NRST_PIN //
  38. //
  39. #define RF_PAN3029_IO3_PIN GPIO_PINS_5 //
  40. #define RF_PAN3029_IO3_PORT GPIOC
  41. #define RF_PAN3029_IO3 RF_PAN3029_IO3_PORT, RF_PAN3029_IO3_PIN //
  42. //
  43. #define RF_PAN3029_IO11_PIN GPIO_PINS_2 //
  44. #define RF_PAN3029_IO11_PORT GPIOA
  45. #define RF_PAN3029_IO11 RF_PAN3029_IO11_PORT, RF_PAN3029_IO11_PIN //
  46. //用于大功率模块的PA和LNA控制脚
  47. #define RF_EXTPA_RE_PIN GPIO_PINS_10 //
  48. #define RF_EXTPA_RE_PORT GPIOB
  49. #define RF_EXTPA_RE RF_EXTPA_RE_PORT, RF_EXTPA_RE_PIN //
  50. #define RF_EXTPA_TE_PIN GPIO_PINS_11 //
  51. #define RF_EXTPA_TE_PORT GPIOB
  52. #define RF_EXTPA_TE RF_EXTPA_TE_PORT, RF_EXTPA_TE_PIN //
  53. //-------------射频模块引脚映射到转接板排针---------------END
  54. uint8_t READ_RF_PAN3029_IRQ(void);
  55. void RF_PAN3029_IRQ_H(void);
  56. void RF_PAN3029_IRQ_L(void);
  57. void RF_EXT_PA_RE_H(void);
  58. void RF_EXT_PA_RE_L(void);
  59. void RF_EXT_PA_TE_H(void);
  60. void RF_EXT_PA_TE_L(void);
  61. #define RF_EXT_PA_TO_TX() RF_EXT_PA_TE_H();RF_EXT_PA_RE_L()
  62. #define RF_EXT_PA_TO_RX() RF_EXT_PA_TE_L();RF_EXT_PA_RE_H()
  63. #define RF_EXT_PA_TO_IDLE() RF_EXT_PA_TE_L();RF_EXT_PA_RE_L()
  64. void BOARD_SPI_NSS_H(void);
  65. void BOARD_SPI_NSS_L(void);
  66. //-------------将封装的API映射到射频模块硬件层---------------
  67. void myRadio_gpio_init(RADIO_GPIO_CALLBACK cb);
  68. uint8_t myRadioSpi_rwByte(uint8_t byteToWrite);
  69. void myRadioSpi_wBuffer(uint8_t* pData, uint8_t len);
  70. void myRadioSpi_rBuffer(uint8_t* pData, uint8_t len);
  71. #define SpiReadWrite(p) myRadioSpi_rwByte(p)
  72. #define SpiWriteData(p1, p2) myRadioSpi_wBuffer(p2, p1)
  73. #define SpiReadData(p1, p2) myRadioSpi_rBuffer(p2, p1)
  74. //-------------将封装的API映射到射频模块硬件层---------------END
  75. #endif