释放双眼,带上耳机,听听看~!
这个例子没有额外的电路连接,除了你的开发板需要连接到你的电脑,并且打开Arduino IDE的串口监视器窗口。
目录
简介
- 在这个例子里,我们用操作器来识别要处理的字符的类型。这个在检查字符是否是ASCII,大写字母,数字,或者标点符号上很有用。可选择的选项覆盖大部分情况,下面的程序是一个例子。每个字符通过 IDE 串口监视器发送到开发板上,并由程序分析返回所有能找到的信息。单个字符可能启动超过一个的条件,因而你可能进入一次获得多个答案。
可使用的操作器:
- isAlphaNumeric()
这是文字和数字 - isAlpha()
这是字母 - isAscii()
这是ASCII - isWhitespace()
这是空白符(包括空格,TAB和回车等) - isControl()
这是控制字符 - isDigit()
这是数字位数 - isGraph()
这是无空格可打印的字符 - isLowerCase()
这是小写字母 - isPrintable()
这是可打印的 - isPunct()
这是标点符号 - isSpace()
这是空格字符 - isUpperCase()
这是大写字母 - isHexadecimalDigit()
这是有效的十六进制位数(即是 0 – 9, a – F, or A – F)
硬件要求
- Arduino or Genuino 开发板
电路
这个例子没有额外的电路连接,除了你的开发板需要连接到你的电脑,并且打开Arduino IDE的串口监视器窗口。
样例代码
打开IDE的串口监视器窗口,并每次打一个字符,然后按下发送键来获得关于特定字符的报告。
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
// send an intro:
Serial.println("send any byte and I'll tell you everything I can about it");
Serial.println();
}
void loop() {
// get any incoming bytes:
if (Serial.available() > 0) {
int thisChar = Serial.read();
// say what was sent:
Serial.print("You sent me: \'");
Serial.write(thisChar);
Serial.print("\' ASCII Value: ");
Serial.println(thisChar);
// analyze what was sent:
if (isAlphaNumeric(thisChar)) {
Serial.println("it's alphanumeric");
}
if (isAlpha(thisChar)) {
Serial.println("it's alphabetic");
}
if (isAscii(thisChar)) {
Serial.println("it's ASCII");
}
if (isWhitespace(thisChar)) {
Serial.println("it's whitespace");
}
if (isControl(thisChar)) {
Serial.println("it's a control character");
}
if (isDigit(thisChar)) {
Serial.println("it's a numeric digit");
}
if (isGraph(thisChar)) {
Serial.println("it's a printable character that's not whitespace");
}
if (isLowerCase(thisChar)) {
Serial.println("it's lower case");
}
if (isPrintable(thisChar)) {
Serial.println("it's printable");
}
if (isPunct(thisChar)) {
Serial.println("it's punctuation");
}
if (isSpace(thisChar)) {
Serial.println("it's a space character");
}
if (isUpperCase(thisChar)) {
Serial.println("it's upper case");
}
if (isHexadecimalDigit(thisChar)) {
Serial.println("it's a valid hexadecimaldigit (i.e. 0 - 9, a - F, or A - F)");
}
// add some space and ask for another byte:
Serial.println();
Serial.println("Give me another byte:");
Serial.println();
}
}