myRadio_gpio.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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_SOFT_3LINE
  9. #define SPI_HARD
  10. #endif
  11. // #define SPI_SOFT_3LINE
  12. typedef void (*RADIO_GPIO_CALLBACK)(uint8_t index);
  13. //-------------射频模块引脚映射到转接板排针---------------
  14. #define BOARD_PIN_SPI_CLK GPIO_Pin_5 //SPI1_SCK(8)
  15. #define BOARD_PORT_SPI_CLK GPIOA //DAC_OUT2 ADC12_IN5
  16. #define BOARD_GPIO_SPI_CLK BOARD_PORT_SPI_CLK, BOARD_PIN_SPI_CLK //
  17. #define BOARD_PIN_SPI_MISO GPIO_Pin_6 //SPI1_MISO(8)
  18. #define BOARD_PORT_SPI_MISO GPIOA // TIM8_BKIN/ADC12_IN6
  19. // TIM3_CH1(8)
  20. #define BOARD_GPIO_SPI_MISO BOARD_PORT_SPI_MISO, BOARD_PIN_SPI_MISO //
  21. #define BOARD_PIN_SPI_MOSI GPIO_Pin_7 //SPI1_MOSI(8)/
  22. #define BOARD_PORT_SPI_MOSI GPIOA // TIM8_CH1N/ADC12_IN7
  23. // TIM3_CH2(8)
  24. #define BOARD_GPIO_SPI_MOSI BOARD_PORT_SPI_MOSI, BOARD_PIN_SPI_MOSI //
  25. #define BOARD_PIN_SPI_CSN GPIO_Pin_4 //SPI1_NSS(8)/
  26. #define BOARD_PORT_SPI_CSN GPIOA // USART2_CK(8)
  27. // DAC_OUT1/ADC12_IN4
  28. #define BOARD_GPIO_SPI_CSN BOARD_PORT_SPI_CSN, BOARD_PIN_SPI_CSN //
  29. // -> 3 -> E 用于接收灵敏度测试data out输出映射 TIM2_CH3
  30. #define RF_PAN312x_IO0_PIN GPIO_Pin_10 //
  31. #define RF_PAN312x_IO0_PORT GPIOB
  32. #define RF_PAN312x_IO0 RF_PAN312x_IO0_PORT, RF_PAN312x_IO0_PIN //
  33. // -> 4 -> F
  34. #define RF_PAN312x_IO1_PIN GPIO_Pin_11 //
  35. #define RF_PAN312x_IO1_PORT GPIOB
  36. #define RF_PAN312x_IO1 RF_PAN312x_IO1_PORT, RF_PAN312x_IO1_PIN //
  37. // -> 5 -> G
  38. #define RF_PAN312x_IO2_PIN GPIO_Pin_12 //
  39. #define RF_PAN312x_IO2_PORT GPIOB
  40. #define RF_PAN312x_IO2 RF_PAN312x_IO2_PORT, RF_PAN312x_IO2_PIN //
  41. // RST和GPIO3复用 -> A
  42. #define RF_PAN312x_RST_PIN GPIO_Pin_5 //
  43. #define RF_PAN312x_RST_PORT GPIOC
  44. #define RF_PAN312x_RST RF_PAN312x_RST_PORT, RF_PAN312x_RST_PIN //
  45. // IRQ和GPIO8复用 -> 0 -> B
  46. #define RF_PAN312x_IRQ_PIN GPIO_Pin_0 //
  47. #define RF_PAN312x_IRQ_PORT GPIOB
  48. #define RF_PAN312x_IRQ RF_PAN312x_IRQ_PORT, RF_PAN312x_IRQ_PIN //
  49. // -> 1 -> C
  50. #define RF_PAN312x_IO9_PIN GPIO_Pin_1 //
  51. #define RF_PAN312x_IO9_PORT GPIOB
  52. #define RF_PAN312x_IO9 RF_PAN312x_IO9_PORT, RF_PAN312x_IO9_PIN //
  53. // -> 2 -> D
  54. #define RF_PAN312x_IO10_PIN GPIO_Pin_2 //
  55. #define RF_PAN312x_IO10_PORT GPIOA
  56. #define RF_PAN312x_IO10 RF_PAN312x_IO10_PORT, RF_PAN312x_IO10_PIN //
  57. //-------------射频模块引脚映射到转接板排针---------------END
  58. uint8_t READ_RF_PAN312x_IRQ(void);
  59. void RF_PAN312x_IRQ_H(void);
  60. void RF_PAN312x_IRQ_L(void);
  61. void BOARD_SPI_NSS_H(void);
  62. void BOARD_SPI_NSS_L(void);
  63. //-------------将封装的API映射到射频模块硬件层---------------
  64. void myRadio_gpio_init(RADIO_GPIO_CALLBACK cb);
  65. uint8_t myRadioSpi_rwByte(uint8_t byteToWrite);
  66. void myRadioSpi_wBuffer(uint8_t* pData, uint8_t len);
  67. void myRadioSpi_rBuffer(uint8_t* pData, uint8_t len);
  68. #define SpiReadWrite(p) myRadioSpi_rwByte(p)
  69. #define SpiWriteData(p1, p2) myRadioSpi_wBuffer(p2, p1)
  70. #define SpiReadData(p1, p2) myRadioSpi_rBuffer(p2, p1)
  71. //-------------将封装的API映射到射频模块硬件层---------------END
  72. #endif