finished drivers
ssd1306 and sh1106 are ready
This commit is contained in:
@@ -43,6 +43,39 @@ void SSD1306_Init(OLED_HandleTypeDef *hOled)
|
||||
|
||||
display = SSD1306_DISPLAYOFF;
|
||||
oled_SendCommand(hOled, &display, 1);
|
||||
}
|
||||
|
||||
void SSD1306_display_all(OLED_HandleTypeDef *hOled)
|
||||
{
|
||||
|
||||
uint8_t config[] = {
|
||||
SSD1306_PAGEADDR, 0x00, 0x07, //cmd, start_page, end_page
|
||||
SSD1306_COLUMNADDR, 0x00, hOled->Width - 1 //cmd, start_col, end_col
|
||||
};
|
||||
oled_SendCommand(hOled, config, sizeof(config));
|
||||
|
||||
oled_SendData(hOled, hOled->Buffer, hOled->BufSize);
|
||||
}
|
||||
|
||||
OLED_SendStatus_t SSD1306_display_page(OLED_HandleTypeDef *hOled)
|
||||
{
|
||||
static uint8_t page = 0;
|
||||
|
||||
uint8_t config[] = {
|
||||
SSD1306_PAGEADDR, page, page,
|
||||
SSD1306_COLUMNADDR, 0x00, hOled->Width - 1
|
||||
};
|
||||
oled_SendCommand(hOled, config, sizeof(config));
|
||||
|
||||
SSD1306_SendData(hOled->Buffer + (page * hOled->Width), hOled->Width);
|
||||
|
||||
if (++page > 7)
|
||||
{
|
||||
page = 0;
|
||||
return SENDALL;
|
||||
}
|
||||
else
|
||||
{
|
||||
return SENDPAGE;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user