Archiv verlassen und diese Seite im Standarddesign anzeigen : Zahlentest
Hallo,
Ich bekomme per UART-Interrupt Zeichen vom PC auf einen ATMega8 übergeben, dabei würde ich aber gerne abfragen, ob diese Zeichen Zahlen sind oder nicht...
Gibt es dazu eine simple Funktion? Oder muss ich die einzelnen Zahlen abfragen? Also mit case und dann 0 bis 9 = empfangenes Zeichen abfragen?
Vielen Dank schonmal.
cu
Karlja
Am einfachsten
select case Zeichen
case &H30 to &H39: ' numerisch 0 - 9
case else: ' NICHT numerisch
end select
Überhaupt, wenn du bei PC-EIngaben sowieso Verschiedenes abfragen mußt
Du kannst auch aus der AVR-libc diese Functionen benutzen :
int isalpha ( int __c )
Checks for an alphabetic character.
It is equivalent to (isupper(c) || islower(c)).
int isascii ( int __c )
Checks whether c is a 7-bit unsigned char value that fits into the ASCII character set.
int isdigit ( int __c )
Checks for a digit (0 through 9).
Schau doch mal in dein Verzeichnis:
C:\WinAVR\doc\avr-libc\avr-libc-user-manual
@Vogon: Werter Kollege, sie befinden sich hier im BasCom-Forum. das
avr-libc-user-manual verwenden wir hier als Unterlage zum Kartoffel-Schälen.
quia peccavi nimis cogitatione, verbo et opere: mea culpa, mea culpa, mea maxima culpa.
Solang' den Worten keine Taten folgen, isses ja halb so schlimm. Also brauchst du dich auch nicht mit Asche zu bestreuen und dein Hemd zu zerreissen, die Frau Gemahlin hätt' eh keine Freude. :Haue
Edit gestrichen,
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.