Forum: Compiler & IDEs Tastatur einlesen / Eingabebefehl


von Bernd (Gast)


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...

von Karl heinz B. (kbucheg)


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.

von Bernd (Gast)


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...

von Karl heinz B. (kbucheg)


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.

von Bernd (Gast)


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 ?

von Karl heinz B. (kbucheg)


Lesenswert?

Wie schon gesagt:
Im Tutorial gibt es einen ganzen Abschnitt drüber.

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.