GCC i printf



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "Mister" <wojpie_at_nospam_wywal_to.poczta.onet.pl>
Subject: GCC i printf
Date: Wed, 28 Jul 2004 12:51:09 +0200


Witam

Mam pytanie: jak podpiac printf do seriala w GCC?
Potrafie wyslac na seriala dowolny string za pomoca swojej funkcji
_print(&COM,"ALA ma kota");.
Lecz nie umiem przekierowac printf na serrial .Wiem ze to robi sie to chyba
fdevopen(uart_putchar, NULL, 0);
Lecz niestety nie dziala.

Prosze o wskazówki.

Pozdrawiam
Mster




========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!newsfeed.atman.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Paweł K" <kpw_at_nospam_qs.pl>
Subject: Re: GCC i printf
Date: Wed, 28 Jul 2004 13:43:54 +0200


fdevopen(uart_putchar, NULL, 0);
Zainicjowales UART?? Predkosc, z przerwaniami lub bez, ile bitow
transmisji???

--

--
Best regards
K_at_nospam_pW from Poland

kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------




========
Path: news-archive.icm.edu.pl!news2.icm.edu.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Mister" <wojpie_at_nospam_wywal_to.poczta.onet.pl>
Subject: Re: GCC i printf
Date: Wed, 28 Jul 2004 13:48:31 +0200



fdevopen(uart_putchar, NULL, 0);
Zainicjowales UART?? Predkosc, z przerwaniami lub bez, ile bitow
transmisji???
Przeciez napisałem:
>>>Potrafię wysłać na seriala dowolny string za
pomoca swojej funkcji
>>>_print(&COM,"ALA ma kota");.
Problem jest z przekierowaniem printf na uarta.

Pozdrawiam
WP




========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Paweł K" <kpw_at_nospam_qs.pl>
Subject: Re: GCC i printf
Date: Wed, 28 Jul 2004 15:10:43 +0200


Problem jest z przekierowaniem printf na uarta.
a zrob tak:
fclose(stdout);
stdout = 0;
uartInit(); // initialize uart
fdevopen (uart_putchar, NULL, 0);

P.S. Uzywasz stdio do LCD?

--

--
Best regards
K_at_nospam_pW from Poland

kpw(at)qs.pl
http://kpw.qs.pl
UIN: 8017753
GG: 1263183
---------------- end ----------------




========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Mister" <wojpie_at_nospam_wywal_to.poczta.onet.pl>
Subject: Re: GCC i printf
Date: Wed, 28 Jul 2004 15:39:23 +0200


a zrob tak:
fclose(stdout);
stdout = 0;
uartInit(); // initialize uart
fdevopen (uart_putchar, NULL, 0);

tak zawsze robiłem pod winavr i zawsze było ok.
Teraz robię w czystym GCC pod 68k i mam komunikat o niezdefiniowanej
referencji do fdevopen. :(

Pozdrawiam
Mister




========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Jurek Szczesiul <jerzy.szczesiul_at_nospam_wycin.ep.com.pl>
Subject: Re: GCC i printf
Date: Wed, 28 Jul 2004 16:48:39 +0200


Wed, 28 Jul 2004 15:39:23 +0200, na pl.misc.elektronika, Mister napisał(a):

fdevopen (uart_putchar, NULL, 0);
tak zawsze robiłem pod winavr i zawsze było ok.
Teraz robię w czystym GCC pod 68k i mam komunikat o niezdefiniowanej
referencji do fdevopen. :(

Czy przypadkiem fdevopen to nie jest 'wynalazek' specjalnie pod avr ?

[..]
The standard streams stdin, stdout, and stderr are provided, but contrary
to the C standard, since avr-libc has no knowledge about applicable
devices, these streams are not already pre-initialized at application
startup. Also, since there is no notion of "file" whatsoever to avr-libc,
there is no function fopen() that could be used to associate a stream to
some device. (See note 1.) Instead, the function fdevopen() is provided to
associate a stream to a device, where the device needs to provide a
function to send a character, to receive a character, or both.
[..]

--
Pozdrowienia
Jurek Szczesiul

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: "Mister" <wojpie_at_nospam_wywal_to.poczta.onet.pl>
Subject: Re: GCC i printf
Date: Wed, 28 Jul 2004 17:05:38 +0200



Czy przypadkiem fdevopen to nie jest 'wynalazek' specjalnie pod avr ?

[..]
associate a stream to a device, where the device needs to provide a
function to send a character, to receive a character, or both.
[..]

Dlatego pozostaje nadal pytanie otwarte:

Jak skojarzyć printf i uarta tak aby dane szły na uarta? -:)

Mister



========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.internetia.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!not-for-mai

Poprzedni Następny
Wiadomość
Spis treści
From: Marcin E. Hamerla <Xmehamerla_at_nospam_Xpro.Xonet.Xpl.remove_X>
Subject: Re: GCC i printf
Date: Wed, 28 Jul 2004 18:02:54 +0200


Mister napisal(a):


Czy przypadkiem fdevopen to nie jest 'wynalazek' specjalnie pod avr ?

[..]
associate a stream to a device, where the device needs to provide a
function to send a character, to receive a character, or both.
[..]

Dlatego pozostaje nadal pytanie otwarte:

Jak skojarzyć printf i uarta tak aby dane szły na uarta? -:)

Ja tam bym sie nie chrzanil, tylko uzyl sprintfa ;--).

--
Pozdrowienia, Marcin E. Hamerla

"Płoń, płoń, płoń parlamencie, spali Cię ogień na historii zakręcie."

========
Path: news-archive.icm.edu.pl!newsfeed.gazeta.pl!news.onet.pl!newsfeed.tpinternet.pl!atlantis.news.tpi.pl!news.tpi.pl!hs001.slackware.pl!new

Poprzedni Następny
Wiadomość
Spis treści
From: Jan Dubiec <jdx_at_nospam_SPAMTRAP.slackware.pl>
Subject: Re: GCC i printf
Date: 29 Jul 2004 05:32:03 +0200


On Wed, 28 Jul 2004 15:39:23 +0200, "Mister" <wojpie_at_nospam_wywal_to.poczta.onet.pl> wrote:
a zrob tak:
fclose(stdout);
stdout = 0;
uartInit(); // initialize uart
fdevopen (uart_putchar, NULL, 0);

tak zawsze robiłem pod winavr i zawsze było ok.
Teraz robię w czystym GCC pod 68k i mam komunikat o niezdefiniowanej
referencji do fdevopen. :(
A jakiej używasz bibliteki standartowej? Newlib? Jeśli tak, to chyba musisz
zaimplementować funkcję outbyte (oraz ewentualnie inbyte - do czytania)
i zlinkować ją z Twoim softem. AFAIR w źródłach newlib są przykładawe
implementacje dla jakiejś kości z rodziny m68k.

BTW. To nie jest problem kompilatora tylko biblioteki standartowej -
wbrew pozorom to są dwie różne rzeczy.

Regards,
/J.D.
--
Jan Dubiec, jdx#slackware.pl, mobile: +48 506 790442

Głęboka wiara wymaga płytkiego rozumu i nikłej wiedzy.

========
Path: news-archive.icm.edu.pl!mat.uni.torun.pl!news.man.torun.pl!newsfeed.pionier.net.pl!news-fra1.dfn.de!newsfeed.ision.net!ision!news.belwue.de!feed.news.tiscali.de!newsfeed01.chello.at!newsfeed02.chello.at!news.chello.at.POSTED!53ab2750!not-for-mail <