user_i2c.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef __USER_I2C_H_
  2. #define __USER_I2C_H_
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #include <stdio.h>
  7. #include <stdlib.h>
  8. #include "define.h"
  9. #define USER_I2C_GPIO_RCC_ENABLE RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO | RCC_APB2Periph_GPIOB, ENABLE);
  10. #define USER_I2C_RCC_ENABLE RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);
  11. #define USER_I2C_DMA_RCC_ENABLE RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE);
  12. #define USER_I2C_ENABLE GPIO_PinRemapConfig(GPIO_Remap_I2C1, ENABLE);
  13. #define USER_I2C I2C1
  14. #define USER_I2C_TX_DMA_CHANNEL DMA1_Channel6
  15. #define USER_I2C_RX_DMA_CHANNEL DMA1_Channel7
  16. #define USER_I2C_TX_DMA_IRQn DMA1_Channel6_IRQn
  17. #define USER_I2C_RX_DMA_IRQn DMA1_Channel7_IRQn
  18. #define USER_WS2812B_01_DMA_IRQHandler DMA1_Channel6_IRQHandler
  19. #define USER_WS2812B_02_DMA_IRQHandler DMA1_Channel7_IRQHandler
  20. #define USER_I2C_TX_DMA_IT_TC DMA1_IT_TC6
  21. #define USER_I2C_RX_DMA_IT_TC DMA1_IT_TC7
  22. #define USER_I2C_SCL_GPIO GPIOB
  23. #define USER_I2C_SCL_PIN GPIO_Pin_6
  24. #define USER_I2C_SDA_GPIO GPIOB
  25. #define USER_I2C_SDA_PIN GPIO_Pin_7
  26. void user_i2c_Init(void);
  27. bool bUser_spi_WriteByte(uint8_t idx, volatile uint8_t *TxData, uint32_t TxSize);
  28. #ifdef __cplusplus
  29. }
  30. #endif
  31. #endif /* __USER_I2C_H_ */