[avr gcc] stdio.h problem

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 ?

Reply to
invalid unparseable
Loading thread data ...

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.

Reply to
Wojtek Kaniewski

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.