mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wertebereich


Autor: Hannes Albert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab ein wahrscheinlich lächerliches Problem,
Ich möchte einige ASCII- Zeichen in einer if- anweisung abfragen.

if((von 0-7) || (von 9-12) || (von 14-47) || ( > 56))
{
 ...
}
Wie setz ich das in einen C- Abfrage um?

if((x < 7) || (...?)

Vielen Dank für Eure Antworten.
lg
HAnnes

Autor: Richie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
char x;

if ((x >= 0) && (x <= 7))
 {
 ...;
 }
if ((x >= 9) && (x <= 12))
 {
 ...;
 }

und so weiter.

Autor: Frank W. (frankw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
if((von 0-7) || (von 9-12) || (von 14-47) || ( > 56))

if (    ((x >= 0) && (x<  8 ))
     || ((x > 8 ) && (x < 13))
     || ((x > 13) && (x < 48))
     || (x>56)
   )

Autor: Hannes Albert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hätte noch eine Frage bezüglich der Werte der Tasten auf der 
Tastatur des Computers.
Ich habe hier gelesen, dass die Tastatur bei einem Tastendruck zwei 
Bytes wo auch immer hinschickt.
Ich kann bei meinem Programm aber nur die Zahlen verarbeiten, die mir 
das Hyperterminal schickt.
Mein Problem ist jetzt, dass z.B. die Funktionstasten (F1 bis F4) und 
die Cursertasten den Wert 27 liefern, d.h. ich kann diese Tasten nicht 
unterscheiden.
Kennt jemand einen Weg, wie man diese Tasten doch unterscheiden kann 
bzw. komme ich an die zwei Bytes, die die Tastatur schickt über die 
serielle Schnittstelle irgendwie ran?

vielen Dank für Eure Hilfe.
lg
Hannes

Autor: Hannes Albert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank!!!
lg
Hannes

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

27 ist Escape. Mit Escape werden die Sonderzeichen eingeleitet und 
danach sollte eigentlich das 2. Zeichen kommen.
Also immer nach einer 27 das nächste Zeichen lesen und als Sonderzeichen 
behandeln.

Gruss

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Ich habe hier gelesen, dass die Tastatur bei einem Tastendruck zwei
> Bytes wo auch immer hinschickt.

Manche Tasten werden in 2 Bytes aufgelöst.
Alle Standard-ASCII Zeichen sind 1 Byte.

Nur bei den Sondertasten, wie zb. F4 werden 2 Bytes gesendet.
Das erste davon ist 27 (oder in Hex 0x1B oder landläufig Escape).

Hast du dir meinen Rat nicht zu Herzen genommen und
einfach mal ein Programm geschrieben, dass alle Bytes
die es über die Serielle erhält, wieder retourniert.
Da müsste sowas eigentlich einem aufmerksamen Beobachter
auffallen.

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.