user_spi.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #ifndef __USER_SPI_H_
  2. #define __USER_SPI_H_
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include "define.h"
  9. #define USER_WS2812B_GPIO_RCC_ENABLE RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB, ENABLE);
  10. #define USER_WS2812B_01_SPI_RCC_ENABLE RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE);
  11. #define USER_WS2812B_02_SPI_RCC_ENABLE RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE);
  12. #define USER_WS2812B_DMA_RCC_ENABLE RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
  13. #define USER_WS2812B_01_SPI_ENABLE GPIO_PinRemapConfig(GPIO_Remap_SPI1, ENABLE);
  14. #define USER_WS2812B_01_SPI SPI1
  15. #define USER_WS2812B_02_SPI SPI2
  16. #define USER_WS2812B_01_DMA_CHANNEL DMA1_Channel3
  17. #define USER_WS2812B_02_DMA_CHANNEL DMA1_Channel5
  18. #define USER_WS2812B_01_DMA_IRQn DMA1_Channel3_IRQn
  19. #define USER_WS2812B_02_DMA_IRQn DMA1_Channel5_IRQn
  20. #define USER_WS2812B_01_DMA_IRQHandler DMA1_Channel3_IRQHandler
  21. #define USER_WS2812B_02_DMA_IRQHandler DMA1_Channel5_IRQHandler
  22. #define USER_WS2812B_01_DMA_IT_TC DMA1_IT_TC3
  23. #define USER_WS2812B_02_DMA_IT_TC DMA1_IT_TC5
  24. #define USER_WS2812B_01_SPI_MOSI_GPIO GPIOB
  25. #define USER_WS2812B_01_SPI_MOSI_PIN GPIO_Pin_5
  26. #define USER_WS2812B_01_SPI_SCLK_GPIO GPIOB
  27. #define USER_WS2812B_01_SPI_SCLK_PIN GPIO_Pin_3
  28. #define USER_WS2812B_02_SPI_MOSI_GPIO GPIOB
  29. #define USER_WS2812B_02_SPI_MOSI_PIN GPIO_Pin_15
  30. #define USER_WS2812B_02_SPI_SCLK_GPIO GPIOB
  31. #define USER_WS2812B_02_SPI_SCLK_PIN GPIO_Pin_13
  32. void user_spi_Init(void);
  33. bool bUser_spi_WriteByte(uint8_t idx, volatile uint8_t *TxData, uint32_t TxSize);
  34. void user_spi_01_dma_init(uint8_t *txData, uint32_t txSize);
  35. void user_spi_02_dma_init(uint8_t *txData, uint32_t txSize);
  36. #ifdef __cplusplus
  37. }
  38. #endif
  39. #endif /* __USER_SPI_H_ */