` 本项目主要的
元件之一就是OLED屏,同时也是主要的显示元件,可以显示数字,字符串,图片等信息。这里使用的OLED屏是IIC接口,为了快速开发和移植,使用模拟IIC进行驱动。
首先在工程目录中的Drivers文件夹内添加oled源文件和头文件,接线除了VCC和GND,SCL和SDA分别接
开发板的PA11和PA112引脚。
其中OLED的主要控制函数如下:
- //模拟IIC控制函数
- void IIC_GPIO_Config(void);
- void IIC_Start(void);
- void IIC_Stop(void);
- void IIC_Wait_Ack(void);
- void IIC_Ack(void);
- void IIC_NoAck(void);
- void Write_IIC_Byte(uint8_t IIC_Byte);
- void Write_IIC_Command(uint8_t IIC_Command);
- void Write_IIC_Data(uint8_t IIC_Data);
-
- //OLED控制用函数
- void OLED_WR_Byte(uint8_t dat,OLEDWriteMode mode);
- void OLED_Display_On(void);
- void OLED_Display_Off(void);
- void OLED_Init(void);
- void OLED_Clear(void);
- void OLED_DisPoint(uint8_t x,uint8_t y,uint8_t t);
- void OLED_Fill(uint8_t x1,uint8_t y1,uint8_t x2,uint8_t y2,uint8_t dot);
- void OLED_DisChar(uint8_t x,uint8_t y,uint8_t chr,AddUnderLineYesOrNot mode);
- void OLED_DisNum(uint8_t x,uint8_t y,uint32_t num,uint8_t len,uint8_t size,AddUnderLineYesOrNot mode);
- void OLED_DisString(uint8_t x,uint8_t y, uint8_t *p);
- void OLED_Set_Position(uint8_t x, uint8_t y);
- void OLED_DisChinese(uint8_t x,uint8_t y,char * p,uint8_t Num,FontSize fontSize);
- void OLED_DisBMP(uint8_t x0, uint8_t y0,uint8_t x1, uint8_t y1,uint8_t BMP[]);
-
在主函数中调用显示方法,效果如下:
`