Obsługuję led display, mam funkcje która odświeża 6 cyfr wyświetlacza na podstawie kodów w tablicy digits[6]
mam zdefiniowany kod napisu:
i funckcję która ustawia napis
wywołuje to tak:
ale gdy każe kompilatorowi zapisac napis do flash:
Na wyświetlaczu pierwszy znak jest pusty a pozostałe 5 to "_|" co odpowiada kodowi 0x06 czyli długości tablicy. Dodam że pierwszy nie jest pusty dlatego że był pusty w oryginalnym napisie, po zmianie dalej jest. Co może być przyczyną tego?
mam zdefiniowany kod napisu:
unsigned char txt_read[] = {0x00, 0x28, 0x7C, 0xFA, 0xAE, 0x00};
i funckcję która ustawia napis
void set_lcd_text(unsigned char* text, unsigned char blink){
int i;
for(i=0;i<6;i++)
digits[i] = text[i];
//if(blink)
}
wywołuje to tak:
set_lcd_text(txt_read, 0);
ale gdy każe kompilatorowi zapisac napis do flash:
unsigned char txt_read[] __attribute__((__progmem__)) = {0x00, 0x28, 0x7C, 0xFA, 0xAE, 0x00};
Na wyświetlaczu pierwszy znak jest pusty a pozostałe 5 to "_|" co odpowiada kodowi 0x06 czyli długości tablicy. Dodam że pierwszy nie jest pusty dlatego że był pusty w oryginalnym napisie, po zmianie dalej jest. Co może być przyczyną tego?
