屏幕驱动忽略,记录屏幕转化。
由于新屏不能设置扫描方向,所以只能用软件方式转化。
由下图所示:
黑白屏每个像素只有0或1,所以需要每一个bit移动。
oled_buf[16][64];//原始数据
oled_CH1115_buf[8][128];//转化后的数据
for (uint8_t col=0; col<64; col++)
{
for (uint8_t row=0; row<128; row++)
{
// 计算
row_byte_index = (128 -1 - row) / 8;
old_byte_offset = (128-1 - row) % 8;
old_byte_data = oled_buf[row_byte_index][col];
if ( ((old_byte_data >> old_byte_offset) & 0x01) == 0x01 )
{
oled_CH1115_buf[col/8][row] |= ( 1 << (col%8) );
}
}
}