sk9822.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. #ifndef __SK9822_H
  2. #define __SK9822_H
  3. #include <stm32f10x.h>
  4. #include "delay.h"
  5. #define SK9822_SCK_PIN GPIO_Pin_0 //数据引脚
  6. #define SK9822_SDI_PIN GPIO_Pin_1 //数据引脚
  7. #define SK9822_PORT GPIOB
  8. #define SK9822_RCC RCC_APB2Periph_GPIOB
  9. ////引脚配置为输出;
  10. //#define SK9822_SCK_PIN_OUT() { SK9822_PORT |= SK9822_SCK_NUM; asm("NOP"); }
  11. ////引脚配置为输入;
  12. //#define SK9822_SCK_PIN_IN() { SK9822_PORT &= ~SK9822_SCK_NUM; asm("NOP"); }
  13. ////引脚配置为输出;
  14. //#define SK9822_SDI_PIN_OUT() { SK9822_PORT |= SK9822_SDI_NUM; asm("NOP"); }
  15. ////引脚配置为输入;
  16. //#define SK9822_SDI_PIN_IN() { SK9822_PORT &= ~SK9822_SDI_NUM; asm("NOP"); }
  17. //拉高数据线;
  18. #define SK9822_SCK_PIN_H() { GPIO_SetBits(SK9822_PORT,SK9822_SCK_PIN); }
  19. //拉低数据线;
  20. #define SK9822_SCK_PIN_L() { GPIO_ResetBits(SK9822_PORT,SK9822_SCK_PIN); }
  21. //拉高数据线;
  22. #define SK9822_SDI_PIN_H() {GPIO_SetBits(SK9822_PORT,SK9822_SDI_PIN); }
  23. //拉低数据线;
  24. #define SK9822_SDI_PIN_L() {GPIO_ResetBits(SK9822_PORT,SK9822_SDI_PIN); }
  25. void SK9822_Write_Data(unsigned char Bri,unsigned char RED,unsigned char GREEN,unsigned char BLUE);
  26. void SK9822_Write_Byte(unsigned char Data);
  27. void SK9822_Intit(void);
  28. #endif