Forum: Mikrocontroller und Digitale Elektronik scanf


von Holger (Gast)


Lesenswert?

Hallo,

ich benutze einen Pic16f876 und Hi-tech C (Demo Version)und will mit 
scanf() oder gets()einen Buchstaben/String über den USART einlesen.

Meine String-Ausgabe mit printf() funktioniert wunderbar.

Wenn ich nun aber scanf oder gets verwende,

char mes[15];                 int mes;
                     oder
gets(mes);                    scanf("%d", mes);

bekomme ich folgende Warnung:
                   function declared implicit int (warning)

Und beim Linker:
                   ::Can't find 0x2 words (0x2 withtotal) for 
psect code_ptr in segment BANK0 (error)
                   ::undefined symbol: (error)
                   ::_gets (MAIN.OBJ) (error)
                     Exit status = 1 (error)

Kann mir da jemand helfen?
MFG Holger

von Metamorph (Gast)


Lesenswert?

Warum deklariest du die Variable "mes" 2mal als int und char??

von Holger (Gast)


Lesenswert?

Sollten zwei verschiedene Möglichkeiten sein, die ich ausprobiert habe, 
selbst verständlich nicht gleichzeitig!

Sieht so natürlich etwas verwirrend aus, hatte nämlich große Abstände 
dazwischen gemacht. Die sind jetzt aber weg.

MFG Holger

von Holger (Gast)


Lesenswert?

Scheinbar kennt der Compiler die Funktion scanf() nicht. Bringt aber 
leider die oben genannte Fehlermeldung.

Ich dachte bisher, scanf sei im Demo Hi-tech C compiler enthalten.
Wie kann ich denn sonst einen String oder eine Variable über den USART 
einlesen?

MFG Holger

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.