上海微信网站建设价格,自己网站上放个域名查询,五屏网站建设公司,如何自己制造软件总结一下 在学习arduino srial函数时 的几个知识点#xff1a; /*** 汇总一下Serial.print输出的一些情况#xff0c;后面部分要和Serial.read配合使用#xff1b;* 1. print 输出字符 和int数的结果#xff0c;* 2. print 输出字符串和一连串的数字* 3. read 读取一个字符…总结一下 在学习arduino srial函数时 的几个知识点 /*** 汇总一下Serial.print输出的一些情况后面部分要和Serial.read配合使用* 1. print 输出字符 和int数的结果* 2. print 输出字符串和一连串的数字* 3. read 读取一个字符 再输出* 4. read 读取一个数字 再输出* 5.如何读取多个数字再输出* 6.如何读取多个字符再输出*/char charDanzifu a;int intXiaozhengshu1 9;int intXiaozhengshu2 19;int intDazhengshu1 0X1111;int intDazhengshu2 0X22221;char intChar1 16;char intChar2 98;char charShuzu1[]Hello world!;char charShuzu2[]98 97 99 100;void setup()
{Serial.begin(9600);Serial.println(charDanzifu); // charDanzifu 就是一个字符print 以ASCII码形式输出IDE的串口监视器显示的时候转化为ASCII码对应的字符显示Serial.println(intXiaozhengshu1); // 数字也是按照字符的形式输出输出的是 9 字符 对应的ASCII码显示的时候 显示的是ASCII码对应的字符Serial.println(intXiaozhengshu2); // 19 是 分为 字符1 和 字符 9 分别传输和显示的Serial.println(intDazhengshu1,HEX); // 整数形式就是正常输出后面如果不带HEX 就默认按照十进制输出 Serial.println(intDazhengshu2,HEX); // 这里要注意0X22221 超过了16位Arduino UNO 最大存储16位超过16位就发生了截断可以输出结果看到少了一个2Serial.println(intChar1); // 如果用数字 16 表示char格式程序里会默认16 是某个字符的ASCII码 //输出的时候 输出的是这个数字显示的是这个码 对应的字符 16 对应的字符 是乱码Serial.println(intChar2); // 98 对应的字符是 b 所以最终输出的就是 b Serial.println(charShuzu1); // 正常输出字符串Serial.println(charShuzu2); // 数字字符串也是按照 单个 数字字符 依次输出的}/** * *下面在loop中测试 read 和 print 对应的输出1.直接用read 不经过变量输出呢2.定义的变量是char 类型在 read 字符和数字的情况下分别输出的是什么3. 定义的变量是int 类型在 read 字符和数字的情况下分别输出的是什么4. 怎样读取一个长整数然后正确的输出出来都按十进制5. 怎样读取一个长字符串然后正确的输出出来*/void loop() // 针对每一类单独一个模块进行要注意delay。
{// read and printint intReadp 0; char charReadp;while(!Serial.available()){}while(Serial.available()){// read每次只读一个字节且从缓存去除这里验证一下 直接输出read到的结果不经过变量输入6aSerial.println(第一步);Serial.println(Serial.read());delay(10); }while(!Serial.available()){}while(Serial.available()){// read每次只读一个字节且从缓存去除这里验证一下 int 类型变量 在int 和char 类型分别读取输出的结果输入6aintReadp Serial.read();Serial.println(第二步);Serial.print( The intReadp is : );Serial.println(intReadp);delay(10); }while(!Serial.available()){}while(Serial.available()){// 这里验证一下 char 类型变量 在int 和char 类型分别读取输出的结果输入6acharReadp Serial.read();Serial.println(第三步);Serial.print( The charReadp is : );Serial.println(charReadp);delay(10); }/*如何来读取一长串数呢比如输入1234 读取这个数再输出1234* 需要用一个字符数组来分别接收各个数字字符 注意要想得到和原输入字符一样的字符需要用char 格式来存储 read到的数据*/String chuanString ;char inChar;while(!Serial.available()){}while(Serial.available()){// 输入1234inChar Serial.read(); chuanString inChar;delay(10); }Serial.println(第四步);Serial.print( The chuanString is : );Serial.println(chuanString);int intChuanshu chuanString.toInt(); //前面的chuanString 是字符串格式我们要想将得到的数字当整数使用需要转化下用toInt,转化之后就成了整数了Serial.println(第四步 之二 );Serial.print( The intChuanshu is : );Serial.println(intChuanshu);intChuanshu intChuanshu7;Serial.println(第四步 之三 );Serial.print( The intChuanshu 加 is : );Serial.println(intChuanshu);String chuanString2 ;char inChar2;while(!Serial.available()){}while(Serial.available()){// 输入abcdefginChar2 Serial.read(); chuanString2 inChar2;delay(10); }Serial.println(第五步);Serial.print( The chuanString2 is : );Serial.println(chuanString2);delay(2000);} 分别输入 6a 6a 6a 1234 absdf 之后 串口显示框 右下 选 没有结束符 运行结果如下