OLED.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #ifndef __OLED_H
  2. #define __OLED_H
  3. #include "main.h"
  4. #define OLED_MODE 0
  5. #define SIZE 8
  6. #define XLevelL 0x00
  7. #define XLevelH 0x10
  8. #define Max_Column 128
  9. #define Max_Row 64
  10. #define Brightness 0xFF
  11. #define X_WIDTH 128
  12. #define Y_WIDTH 64
  13. //-----------------OLED IIC端口定义----------------
  14. #define OLED_SCLK_PORT_CLK (RCC_APB2Periph_GPIOB)
  15. #define OLED_SCLK_PORT_APBxClkCmd RCC_APB2PeriphClockCmd
  16. #define OLED_SDIN_PORT_CLK (RCC_APB2Periph_GPIOB)
  17. #define OLED_SDIN_PORT_APBxClkCmd RCC_APB2PeriphClockCmd
  18. #define OLED_SCLK_PORT GPIOB
  19. #define OLED_SCLK_PIN GPIO_Pin_1
  20. #define OLED_SDIN_PORT GPIOB
  21. #define OLED_SDIN_PIN GPIO_Pin_0
  22. #define OLED_SCLK_Clr() GPIO_ResetBits(OLED_SCLK_PORT, OLED_SCLK_PIN)//SCL
  23. #define OLED_SCLK_Set() GPIO_SetBits(OLED_SCLK_PORT,OLED_SCLK_PIN)
  24. #define OLED_SDIN_Clr() GPIO_ResetBits(OLED_SDIN_PORT,OLED_SDIN_PIN)//SDA
  25. #define OLED_SDIN_Set() GPIO_SetBits(OLED_SDIN_PORT,OLED_SDIN_PIN)
  26. #define OLED_CMD 0 //写命令
  27. #define OLED_DATA 1 //写数据
  28. //OLED控制用函数
  29. void OLED_WR_Byte(unsigned dat,unsigned cmd);
  30. void OLED_Display_On(void);
  31. void OLED_Display_Off(void);
  32. void OLED_Init(void);
  33. void OLED_Clear(void);
  34. void OLED_DrawPoint(u8 x,u8 y,u8 t);
  35. void OLED_Fill(u8 x1,u8 y1,u8 x2,u8 y2,u8 dot);
  36. void OLED_ShowChar(u8 x,u8 y,u8 chr,u8 Char_Size);
  37. void OLED_ShowNum(u8 x,u8 y,u32 num,u8 len,u8 size);
  38. void OLED_ShowString(u8 x,u8 y, u8 *p,u8 Char_Size);
  39. void OLED_Set_Pos(unsigned char x, unsigned char y);
  40. void OLED_ShowCHinese(u8 x,u8 y,u8 no);
  41. void OLED_DrawBMP(unsigned char x0, unsigned char y0,unsigned char x1, unsigned char y1,unsigned char BMP[]);
  42. void fill_picture(unsigned char fill_Data);
  43. void IIC_Start(void);
  44. void IIC_Stop(void);
  45. void Write_IIC_Command(unsigned char IIC_Command);
  46. void Write_IIC_Data(unsigned char IIC_Data);
  47. void Write_IIC_Byte(unsigned char IIC_Byte);
  48. void IIC_Wait_Ack(void);
  49. #endif