[avr gcc] stdio.h problem

Jul 08, 2004 1 Replies

Witam, chcialem sobie ulatwic zycie i wykozystalem funkcje biblioteki stdio.h do wyswiatlania na LCD. jako wyjscie wykozystalem funkcje "int lcdDataWrite(char c)" zainicjowalem jak ponizej: fdevopen (lcdDataWrite, NULL, 0); dziala bez problemu.



W srodku programuchcialem skozystac z tej samej biblioteki do wysylania znakow na UART deklarujac jak ponizej: fdevopen (uart0_putchar, NULL, 0); gdzie "int uart0_putchar(char c)" jest f-cja wysylajaca znak na UART ... ... i lipa :( znakia nadal leca na LCD.



w czym tkwi problem ?


fdevopen() zwraca FILE*, które ignorujesz. problem w tym, że tylko pierwsze wywołanie fdevopen() ustawi stdio i stdout. spróbuj czegoś takiego:

fdevopen(lcdDataWrite, NULL, 0);

/* ... */

fclose(stdout); stdout = 0; fdevopen(uart0_putchar, NULL, 0);

zachowanie fdevopen() jest ładnie opisane w dokumentacji.

w.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required