我需要STM32f103c6t6的HAL库版本oled显示iic接法
时间: 2023-10-11 10:05:57 浏览: 166
好的,下面是STM32f103c6t6通过I2C接口驱动OLED显示屏的HAL库程序示例:
首先需要在CubeMX中配置I2C和GPIO,使它们与STM32f103c6t6的引脚对应。然后在工程中添加ssd1306.c和ssd1306.h这两个文件,它们是OLED驱动程序的源文件。
下面是一个简单的HAL库程序示例:
```
#include "ssd1306.h"
void OLED_Init(void)
{
HAL_Delay(100);
ssd1306_Init();
ssd1306_Fill(Black);
ssd1306_UpdateScreen();
HAL_Delay(100);
}
void OLED_ShowString(uint8_t x, uint8_t y, uint8_t *chr, uint8_t Char_Size)
{
ssd1306_ShowString(x, y, chr, Char_Size);
ssd1306_UpdateScreen();
}
void OLED_ShowCHinese(uint8_t x, uint8_t y, uint8_t no)
{
ssd1306_ShowCHinese(x, y, no);
ssd1306_UpdateScreen();
}
void OLED_Clear(void)
{
ssd1306_Fill(Black);
ssd1306_UpdateScreen();
}
```
然后在主函数中调用这些函数即可,例如:
```
int main(void)
{
HAL_Init();
SystemClock_Config();
MX_GPIO_Init();
MX_I2C1_Init();
OLED_Init();
OLED_ShowString(0, 0, "Hello World!", 16);
OLED_ShowString(0, 16, "I2C OLED Test", 12);
OLED_ShowString(0, 32, "By HAL Library", 12);
OLED_UpdateScreen();
while (1)
{
}
}
```
这是一个简单的示例程序,你可以根据自己的需求进行修改和扩展。
阅读全文