Stránka 1 z 1
getchar()
Napsal: 03 kvě 2009, 20:50
od teo
chci použít ve svém program příkaz
a za boha mě to nefachá a stále dává chybu
Kód: Vybrat vše
?ASlink-Warning-Undefined Global '_getchar' referenced by module '2_3'
kde 2_3 je název souboru
knihovnu stdio.h používám. překladač SDCC.
nevíte někdo v čem je chybka?
Napsal: 03 kvě 2009, 22:14
od Bernard
Používám Keil, takže se jen domnívám, že při linkování je ještě třeba zahrnout nějaký *.obj soubor, ve kterém jsou IO rutiny specifické pro použitý hardwér.

Napsal: 03 kvě 2009, 23:03
od DRAKE
A k čemu by to mělo bejt - USART, SPI, I2C nebo co, ten překladač neví, k čemu to chceš použít. Musíš asi nejprve nadefinovat ten stream, u AVR je to tak, že musíš nadefinovat nějaký ten FILE a k tomu připojit nějaký metody. Už si to přesně nepamatuju, ale tak nějak to bylo. Kouokni se nějakejch materiálů jak se to v tvém případě dělá.
Napsal: 04 kvě 2009, 15:50
od teo
no mám to připojené přes UART a ft232RL do pc.Nainstaloval jsem keil a v tom to přeložit jde.
Ale vyvstal další problém.mám napsáno malej kus programu:
Kód: Vybrat vše
#include <stdio.h>
#include <reg51.h>
#include <string.h>
int main(void)
{
char c;
TMOD = 0x20; // CT1 jako 8-bitovy citac - nutne
TH1 = 0xF3; // pro rychlost 2400/4800 Bd pri 12MHz krystalu
TR1 = 1; // start citace
SCON = 0x52; // standardni nastaveni serioveho kanalu
PCON |= 0x80; // SMOD=1 => zdvojeni seriove rychlosti (na 4800)
puts("\nStart\n"); // uvodni "textik"
while (1)
{
c = getchar(); // precti znak ze ser. linky
putchar(c); // posli zpet po ser. lince do terminalu
}
}
a pak zapnu hyperterminál,nastavím připojení,dám připojit a nic to nedělá!
přitom UART používám přes flip a jede to ok
Napsal: 05 kvě 2009, 19:48
od Bernard
Když ten kousek pustím v Keilu a debuggeru, funguje to jakoby normálně. Jestli ti to nějak pomůže.

Napsal: 05 kvě 2009, 22:16
od teo
už je vše OK. chyba byla v tom že vista nemá hyperterminála ten co sem si dodatečně nainstaloval fungoval nějak divně. A pak jsem ještě musel v nastavení FTDI v MPROGu nastavit invertování signálů.