www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik gets1 für UART1


Autor: Florian Brauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rahul (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Florian Brauer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.