myRadio_gpio.h 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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. #ifndef SPI_HARD
  10. #define SPI_HARD
  11. #endif
  12. typedef void (*RADIO_GPIO_CALLBACK)(uint8_t index);
  13. //-------------射频模块引脚映射到转接板排针---------------
  14. //IO1用于发射中断响应判断,@radio.c->RF_Config
  15. #define RF_CMT2300A_GPIO1_PIN BOARD_PIN_SPI_GPIOB //
  16. #define RF_CMT2300A_GPIO1_PORT BOARD_PORT_SPI_GPIOB
  17. #define RF_CMT2300A_GPIO1 RF_CMT2300A_GPIO1_PORT, RF_CMT2300A_GPIO1_PIN //
  18. //IO1用于接收中断响应判断,@radio.c->RF_Config
  19. #define RF_CMT2300A_GPIO2_PIN BOARD_PIN_SPI_GPIOC //
  20. #define RF_CMT2300A_GPIO2_PORT BOARD_PORT_SPI_GPIOC
  21. #define RF_CMT2300A_GPIO2 RF_CMT2300A_GPIO2_PORT, RF_CMT2300A_GPIO2_PIN //
  22. //用于接收灵敏度测试data out输出映射,@myRadio.c->myRadio_setCtrl->RADIO_EXT_CONTROL_RX_SENSITIVITY
  23. #define RF_CMT2300A_GPIO3_PIN BOARD_PIN_SPI_GPIOD //
  24. #define RF_CMT2300A_GPIO3_PORT BOARD_PORT_SPI_GPIOD
  25. #define RF_CMT2300A_GPIO3 RF_CMT2300A_GPIO3_PORT, RF_CMT2300A_GPIO3_PIN //
  26. //
  27. #define RF_CMT2300A_FCSB_PIN BOARD_PIN_SPI_GPIOA //
  28. #define RF_CMT2300A_FCSB_PORT BOARD_PORT_SPI_GPIOA
  29. #define RF_CMT2300A_FCSB RF_CMT2300A_FCSB_PORT, RF_CMT2300A_FCSB_PIN //
  30. //外部PA和LNA控制脚
  31. #define RF_EXTPA_RE_PIN BOARD_PIN_SPI_GPIOE //
  32. #define RF_EXTPA_RE_PORT BOARD_PORT_SPI_GPIOE
  33. #define RF_EXTPA_RE RF_EXTPA_RE_PORT, RF_EXTPA_RE_PIN //
  34. #define RF_EXTPA_TE_PIN BOARD_PIN_SPI_GPIOF //
  35. #define RF_EXTPA_TE_PORT BOARD_PORT_SPI_GPIOF
  36. #define RF_EXTPA_TE RF_EXTPA_TE_PORT, RF_EXTPA_TE_PIN //
  37. //-------------射频模块引脚映射到转接板排针---------------END
  38. uint8_t READ_RF_CMT2300A_GPIO1(void);
  39. uint8_t READ_RF_CMT2300A_GPIO2(void);
  40. uint8_t READ_RF_CMT2300A_GPIO3(void);
  41. void RF_CMT2300A_GPIO1_H(void);
  42. void RF_CMT2300A_GPIO1_L(void);
  43. void RF_CMT2300A_GPIO2_H(void);
  44. void RF_CMT2300A_GPIO2_L(void);
  45. void RF_CMT2300A_GPIO3_H(void);
  46. void RF_CMT2300A_GPIO3_L(void);
  47. void RF_CMT2300A_FCSB_H(void);
  48. void RF_CMT2300A_FCSB_L(void);
  49. void RF_EXT_PA_RE_H(void);
  50. void RF_EXT_PA_RE_L(void);
  51. void RF_EXT_PA_TE_H(void);
  52. void RF_EXT_PA_TE_L(void);
  53. #define RF_EXT_PA_TO_TX() RF_EXT_PA_TE_H();RF_EXT_PA_RE_L()
  54. #define RF_EXT_PA_TO_RX() RF_EXT_PA_TE_L();RF_EXT_PA_RE_H()
  55. #define RF_EXT_PA_TO_IDLE() RF_EXT_PA_TE_L();RF_EXT_PA_RE_L()
  56. void BOARD_SPI_NSS_H(void);
  57. void BOARD_SPI_NSS_L(void);
  58. //-------------将封装的API映射到射频模块硬件层---------------
  59. void myRadio_gpio_init(RADIO_GPIO_CALLBACK cb);
  60. void myRadio_gpio_intoLwPwr(bool sta);
  61. uint8_t myRadioSpi_read(void);
  62. void myRadioSpi_write(uint8_t byteToWrite);
  63. void myRadio_delayMs(uint32_t delayMs);
  64. void myRadio_delayUs(uint32_t delayUs);
  65. #define Cmt2300_ReadGpio1() READ_RF_CMT2300A_GPIO1()
  66. #define Cmt2300_ReadGpio2() READ_RF_CMT2300A_GPIO2()
  67. #define Cmt2300_ReadGpio3() READ_RF_CMT2300A_GPIO3()
  68. #define cmt_spi3_fcsb_1() RF_CMT2300A_FCSB_H()
  69. #define cmt_spi3_fcsb_0() RF_CMT2300A_FCSB_L()
  70. #define cmt_spi3_csb_1() BOARD_SPI_NSS_H()
  71. #define cmt_spi3_csb_0() BOARD_SPI_NSS_L()
  72. #define cmt_spi3_scl_1() BOARD_SPI_SCK_H()
  73. #define cmt_spi3_scl_0() BOARD_SPI_SCK_L()
  74. #define cmt_spi3_sda_1() BOARD_SPI_MISO_H()
  75. #define cmt_spi3_sda_0() BOARD_SPI_MISO_L()
  76. #define cmt_spi3_sda_in() SET_BOARD_SPI_MISO_IN()
  77. #define cmt_spi3_sda_out() SET_BOARD_SPI_MISO_OUT()
  78. #define cmt_spi3_scl_out() SET_BOARD_SPI_CLK_OUT()
  79. #define cmt_spi3_sda_read() READ_BOARD_SPI_MISO()
  80. #define cmt_spi3_recv() myRadioSpi_read()
  81. #define cmt_spi3_send(p) myRadioSpi_write(p)
  82. #define Cmt2300_DelayMs(p) myRadio_delayMs(p)
  83. #define Cmt2300_DelayUs(p) myRadio_delayUs(p)
  84. #define cmt_spi3_delay() myRadio_delayUs(1)
  85. #define cmt_spi3_delay_us() myRadio_delayUs(1)
  86. //-------------将封装的API映射到射频模块硬件层---------------END
  87. #endif