Forum: Mikrocontroller und Digitale Elektronik gets1 für UART1


von Florian Brauer (Gast)


Lesenswert?

Hallo alle zusammen!
Ich möchte auf einem ATMega162 mit Codevision AVR für die zweite
UART-Schnittstelle eine Funktion gets1() und puts1() implementieren.
Da ich nicht so erfahren in C bin, suche ich Quellcode
oder die header-file, wo die Dinger (für USART0) definiert sind.
Für puts hab ich nur die Lösung im Tutorial gefunden.
Wie kann ich bei gets1 die Länge des Strings begrenzen und als
Eingabe-Parameter definieren?

Vielen Dank für eure Hilfe

Woohoo

von Rahul (Gast)


Lesenswert?

>Quellcode oder die header-file

Quellcode hat in der Regel die Endung ".c" und Headerfiles die Endung
".h".
Irgendwo auf deiner Festplatte sollte es Dateien mit diesen Endungen
geben, und da es sich dabei um Textdateien handelt, kannst du sie mti
jedem x-beliebigen Texteditor öffnen...

Im Datenblatt des Mega162 ist zwar nur der allgemeine Code für eine
serielle Schnittstelle beschrieben, aber wenn man noch eine 0 oder 1
(je nach USART) hinzufügt, sollte es (nach Anpassung an die
Codevision-Syntax) funktionieren.

Wie nennt sich denn die include-Datei, die du zu Beginn deines
Programms einfügst?
Da es sich bei der .h-Datein in der Regel nur um Definitionen handelt,
müsste sich noch eine Datei mit dem gleichen Namen aber der Endung
".c" irgendwo auf der Festplatte (im gleichen Verzeichnis...)
befinden.

von Florian Brauer (Gast)


Lesenswert?

Hi!
Codevision gibt leider nur die Headerfiles her und
ich hab auch schon gehört, dass dort die Definitionen für
puts und gets nicht zu finden sind.
Im Datenblatt vom ATMega162 ist nur Code zur Initialisierung usw. des
UARTS.
Das habe ich hier im Tutorial gefunden:

void puts1(char *str)
{
    while (*str)
    {   /* so lange *str != '\0' also ungleich dem
"String-Endezeichen" */
        putchar1(*str);
        str++;
    }
}

Kann ich das für gets1 genauso machen?
Es funktioniert  bei mir aber so nicht.
Vielen Dank für weitere Hilfe.

Greetz
Florian

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.