У меня возникли проблемы с OLED 128x32 SSD1306, мне нужно загрузить шрифт другого размера.Итак, у меня есть файл "fonts.h", где мой шрифт объявлен следующим образом:
unsigned char mediumFont[]={0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x42,0x00,0x3C};
Это вызывается из функции, где я пытаюсь представить на старом экране текущий шрифт в формате 8x12pixels.
void charDraw(char row, char column, char data, int sizeFont){
char h, ci;
uint8_t i;
if (row > SSD1306_MAXROWS){
row = SSD1306_MAXROWS;
}
if (column > SSD1306_LCDWIDTH){
column = SSD1306_LCDWIDTH;
}
if (data < 32 || data > 129 ){
data = '.';
}
ci = data-32;
if(column >120){
row+= 2;
if(row > 6){
row = 6;
}
}
setAddress(row, column);
for(i = 0; i < 8; i++){
SSD1306SendData((char *)&mediumFont[ci+16+i], fontWidth_1);
printf("hex:%x\n",&mediumFont[ci]);
}
setAddress(column,row+1);
for(i = 0; i < 8; i++){
SSD1306SendData((char *)&mediumFont[ci], fontWidth_1);
}
setAddress(column+8,row-1);
}
кто-нибудь может мне помочь?