mikrocontroller.net

Forum: Compiler & IDEs Tastatur einlesen / Eingabebefehl


Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ne frage zur Programmieung. Ich suche eine geeigneten Befehl wie ich
meine Tastatur einlesen kann. Über ein Terminal möchte ich einen Text
einlesen und diesen im µP speichern. Jetzt aber nicht "scanf", mit
dem bekomme ich es leider nicht hin.
Danke vorab für Eure Beiträge...

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schon im Elektronik Forum beantwortet:

Was ist das für eine Tastatur?
Wie ist sie angeschlossen?

Die Frage nach der Programmiersprache hat sich damit erübrigt.

PS: Mit einem Befehl wirst du nicht durchkommen.
Das wird eine Funktion werden, die aus mehreren 'Befehlen'
bestehen wird und die in dieser Funktion gekapselte Logik
realisiert dann die Funktionalität 'einen Text von einer
Tastatur einlesen und in einem Array abspeichern'. Diese
Funktion wird dazu wieder auf die Unterfunktion 'ein einzelnes
Zeichen von der Tastatur einlesen und an einer definierten Stelle
ablegen' zurückgreifen.

Ausserdem solltest du dir mal überlegen, woran denn dein µC
erkennen kann, dass der Text jetzt komplett ist. Es gibt
dazu mehrere Möglichkeiten. Eine einfach ist zb. ein spezielles
Zeichen dafür zu benutzen. Gerne wird dafür zb. die Return Taste
hergenommen. Muss aber nicht so sein.

Also: Rück mal ein paar Informationen raus, stell vieleicht noch
ein paar Überlegungen über die Rahmenbedingungen an und entscheide
dich in welchem Forum du weiterposten möchtest.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die Tastatur ist bei mir am Rechner angeschlossen, quasi mit der
ich diesen Text hier getippt habe.
Die folgenden Funktion möchte ich gerne zur Kontrolle ausüben:

char test1 [10];
printf("Text-Eingabe: \n\r");
scanf(" %s ",test1);                // WERT EINLESEN
printf(" Parameter= %s", test1);    // WERT WIEDER AUSGEBEN

Aber nichts geht...nur der erste printf - Befehl geht sichtbar in das
Terminal, der zweite printf-Befehl geht ebenfalls nicht raus

Ach ich poste hier weiter...

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Also die Tastatur ist bei mir am Rechner angeschlossen, quasi mit
> der ich diesen Text hier getippt habe.

Also ist die Tastatur überhaupt nicht am µC angeschlossen.
Damit ist sie für die Aufgabenstellung völlig irrelevant.
Es geht also in Wirklichkeit darum, Zeichen über eine Serielle
Schnittstelle zu empfangen. (Wer auf der anderen Seite der
seriellen Schnittstelle sendet, ist dem µC ja sowas von ...
Das kann ein anderes Programm sein, das kann ein anderer µC
sein, dass kann ein Terminal sein, dass kann aber auch ein
Terminialprogramm sein, dass deine Tastendrücke über die
serielle Schnittstelle weiterleitet).

Hast du dir schon mal das Tutorial angeschaut?
Da gibt es einen Abschnitt über die Programmierung des UART
(UART = serielle Schnittstelle).

> char test1 [10];
> printf("Text-Eingabe: \n\r");
> scanf(" %s ",test1);                // WERT EINLESEN
> printf(" Parameter= %s", test1);    // WERT WIEDER AUSGEBEN

Daraus kann man überhaupt nichts ablesen.
Wie ist die serielle Schnittstelle initialisiert?
Am besten postest du mal das komplette Programm und nicht
nur einen Ausschnitt, damit wir mal schauen können ob du das
I/O System überhaupt richtig initialisert hast.

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Es geht also in Wirklichkeit darum, Zeichen über eine Serielle
   Schnittstelle zu empfangen
Richtig !

Daten vom µP kann ich doch epmfangen, was muss ich denn außer denn
Grundeinstellungen[Rx/TX] der RS232 beachten ?

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie schon gesagt:
Im Tutorial gibt es einen ganzen Abschnitt drüber.

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.