Вот зашиваю в ATmega8 шрифт с несколькими символами для экранчика.
Код: Выделить всё
#define fontdatatype const unsigned char
fontdatatype Terminal6x8[] PROGMEM = {
0x06, 0x08, 0x20, 0x60,
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // Code for char
0x05, 0x00, 0x00, 0x06, 0x5F, 0x06, 0x00, // Code for char !
0x06, 0x00, 0x07, 0x03, 0x00, 0x07, 0x03, // Code for char "
0x06, 0x00, 0x24, 0x7E, 0x24, 0x7E, 0x24, // Code for char #
0x05, 0x00, 0x24, 0x2B, 0x6A, 0x12, 0x00, // Code for char $
// Тут еще символы
};первый байт 0x06 - Это ширина
Следующий 0x08 - высота
Начало первого символа это 0x20
и наконец общая длина массива с символами 0x60
Вот теперь пару вопросов:
1. Откуда взялся адрес первого символа?
2. как сделать мэпинг символов? Ведь у этого MK нету чаров как символ или стринг как массив из символов.
Другими словами у меня есть метод вот с такой сигнатурой
Код: Выделить всё
unsigned int drawChar(unsigned int x, unsigned int y, unsigned int ch, unsigned int color = COLOR_WHITE);