Arduino内置教程-字符串-字符分析

释放双眼,带上耳机,听听看~!
这个例子没有额外的电路连接,除了你的开发板需要连接到你的电脑,并且打开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的串口监视器窗口。

Arduino内置教程-字符串-字符分析

 

样例代码

打开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();
  }
}

给TA打赏
共{{data.count}}人
人已打赏
ArduinoArduino-官方内置动态

Arduino内置教程-显示-8x8LED矩阵行列扫描

2019-1-6 2:57:43

ArduinoArduino-官方内置动态

Arduino内置教程-字符串-字符串连接

2019-1-6 5:01:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索
'); })();