mam problem, a mianowicie nie wiem jak usunąć błąd, aby program dobrze działał. Program ma wybierać język w którym będziemy się dalej posługiwać. Dziękuję z góry za pomoc.
W kodzie ( na samym dole w komentarzach ) jest napisane jaki błąd wyskakuje przy const char *phrase = pgm_read_word(¤t_language[string_id]); .
W kodzie ( na samym dole w komentarzach ) jest napisane jaki błąd wyskakuje przy const char *phrase = pgm_read_word(¤t_language[string_id]); .
prog_char NEWLINE[] = {'\n','\r',0}; // tablica zawiarajaca znaki nowejlinii
char text[] PROGMEM = "Wybierz język programu(choose your language)";
char jezyki[] PROGMEM = "1. Polish\n2. English\n ";
//char VERSION[] PROGMEM = __DATE__" "__TIME__;
const char **current_language = languages[POLISH_ID];
void _UART_putstr_P(const char *s)
{
register c;
register u08=c;
while ((c = pgm_read_byte(s++)))
{
UART_putchar(c);
}
}
int main( void ) // program główny
{
char res; // deklaracja zmiennej
UART_init(); // inicjalizacja portu szeregowego
_UART_putstr_P(text); // wyslij tekst zdefiniowanywszczesniej w tablicy text2
_UART_putstr_P(NEWLINE); // wyslij na port szeregowyznak nowej linii
_UART_putstr_P(jezyki);
UART_getchar(); // czekaj na znak z portuszeregowego
typedef enum
{
HELLO_ID,
GOODBYE_ID,
} string_id_t;
typedef enum
{
ENGLISH_ID,
POLISH_ID,
} language_id_t;
char hello_en[] PROGMEM = "Hello";
char goodbye_en[] PROGMEM = "Bye";
char hello_pl[] PROGMEM = "Czesc";
char goodbye_pl[] PROGMEM = "Na razie";
const char *languages[const char N_LANGUAGES][const char N_WORDS] PROGMEM = { // BŁĄD ../test.c:54: error: expected expression before 'char'
{
hello_en,
goodbye_en,
},{
hello_pl,
goodbye_pl,
}
};
const char *phrase = pgm_read_word(¤t_language[string_id]);
// BŁĄD ../test.c:65: error: 'string_id' undeclared (first use in this function)
// ../test.c:65: error: (Each undeclared identifier is reported only once
//../test.c:65: error: for each function it appears in.)
while(1); // petla nieskonczona
}