1. 前言
SoftwareSerial库允许在Arduino板的其他数字引脚上进行串行通信,使用软件复制功能(因此得名“SoftwareSerial”)。可以有多个软件串行端口,速度高达115200 bps。参数为需要该协议的设备启用反向信令。
1.1 要使用此库
请执行以下操作:
#include <SoftwareSerial.h>
1.2 此库的局限性
软件串行库具有以下已知限制:
它不能同时发送和接收数据。 如果使用多个软件串行端口,则一次只能有一个可以接收数据。 并非 Mega 和 Mega 2560
板上的所有引脚都支持更改中断,因此只有以下引脚可用于 RX:10、11、12、13、14、15、50、51、52、53、A8 (62)、A9
(63)、A10 (64)、A11 (65)、A12 (66)、A13 (67)、A14 (68)、A15 (69)。 并非
Leonardo 和 Micro 板上的所有引脚都支持更改中断,因此只有以下引脚可用于 RX:8、9、10、11、14 (MISO)、15
(SCK)、16 (MOSI)。 在Arduino或Genuino 101板上,当前最大RX速度为57600bps。 在 Arduino 或
Genuino 101 板上,RX 在数字引脚 13 上不起作用。 在ESP8266上,RX:D1D8;**TX**:D1D8
不要问我D0为什么不行,波特率在9600以下都可以,因为它本身不适合🤣🤣🤣
如果您的项目需要同时数据流,请参阅 Paul Stoffregen 的 AltSoft串行库.
2. 实验条件
2.1 硬件条件
本次采用ESP8266node MCU开发板,利用自身软硬件串口通讯,采用关键字符串实现开灯功能
名称 | 端口 |
LED | +接D2,-接GND |
CH340 | RX接D3,TX接D1,GND接GND,3.3v接3.3v |
ESP8266 | mcro数据线 |
硬件连线:
2.2 软件条件
ESP8266-NodeMCU物联网开发之Arduino环境搭建
3. 程序编写
3.1 程序解剖
三个子程序
读取软硬串口字符
打印两次不同的字符
测试ok字符
主程序
读取软硬串口
判别是否为ok
是则灯亮,进而判别是否为stop,退出
3.2 源代码
#include <SoftwareSerial.h> String item; String item1; SoftwareSerial mySerial(0,5); void procedure() { if (item != item1) { Serial.print("item: "); Serial.println(item); mySerial.print("item: "); mySerial.println(item); item1 = item; } } void procedure2() { if (Serial.available() > 0) { item = Serial.readString(); } if (mySerial.available() > 0) { item = mySerial.readString(); } } void procedure3() { Serial.println("ok"); mySerial.println("ok"); } void setup(){ item = "hello"; item1 = "hello"; Serial.begin(9600); mySerial.begin(9600); pinMode(4, OUTPUT); digitalWrite(4,LOW); Serial.println(item); mySerial.println(item); } void loop(){ delay(10); procedure2(); procedure(); while (item == "ok") { procedure3(); delay(10); digitalWrite(4,HIGH); procedure2(); procedure(); if (item == "stop") { digitalWrite(4,LOW); break; } } }
4. 实验效果
4.1 显示效果
https://gitee.com/vor2345/OneOS/blob/master/20221213192048.gif
💖💖💖
👻👻👻
4.2 打印输出
19:20:51.433 -> hello 19:21:01.880 -> item: ok 19:21:01.880 -> ok 19:21:01.891 -> ok 19:21:01.905 -> ok 19:21:01.920 -> ok 19:21:01.935 -> ok 19:21:01.949 -> ok 19:21:01.963 -> ok 19:21:01.978 -> ok 19:21:01.991 -> ok 19:21:02.005 -> ok 19:21:02.020 -> ok 19:21:02.033 -> ok 19:21:02.048 -> ok 19:21:02.062 -> ok 19:21:02.076 -> ok 19:21:02.090 -> ok 19:21:02.105 -> ok 19:21:02.119 -> ok 19:21:02.133 -> ok 19:21:02.148 -> ok 19:21:02.162 -> ok 19:21:02.176 -> ok 19:21:02.190 -> ok 19:21:02.204 -> ok 19:21:02.219 -> ok 19:21:02.233 -> ok 19:21:02.247 -> ok 19:21:02.261 -> ok 19:21:02.276 -> ok 19:21:02.289 -> ok 19:21:02.304 -> ok 19:21:02.319 -> ok 19:21:02.332 -> ok 19:21:02.348 -> ok 19:21:02.361 -> ok 19:21:02.375 -> ok 19:21:02.389 -> ok 19:21:02.404 -> ok 19:21:02.418 -> ok 19:21:02.432 -> ok 19:21:02.446 -> ok 19:21:02.461 -> ok 19:21:02.475 -> ok 19:21:02.489 -> ok 19:21:02.503 -> ok 19:21:02.517 -> ok 19:21:02.532 -> ok 19:21:02.546 -> ok 19:21:02.560 -> ok 19:21:02.574 -> ok 19:21:02.589 -> ok 19:21:02.604 -> ok 19:21:02.618 -> ok 19:21:02.632 -> ok 19:21:02.646 -> ok 19:21:02.661 -> ok 19:21:02.675 -> ok 19:21:02.689 -> ok 19:21:02.703 -> ok 19:21:02.717 -> ok 19:21:02.731 -> ok 19:21:02.746 -> ok 19:21:02.760 -> ok 19:21:02.774 -> ok 19:21:02.788 -> ok 19:21:02.803 -> ok 19:21:02.817 -> ok 19:21:02.831 -> ok 19:21:02.845 -> ok 19:21:02.859 -> ok 19:21:02.874 -> ok 19:21:02.888 -> ok 19:21:02.902 -> ok 19:21:02.916 -> ok 19:21:02.931 -> ok 19:21:02.945 -> ok 19:21:02.959 -> ok 19:21:02.973 -> ok 19:21:02.987 -> ok 19:21:03.002 -> ok 19:21:03.016 -> ok 19:21:03.031 -> ok 19:21:03.046 -> ok 19:21:03.059 -> ok 19:21:03.073 -> ok 19:21:03.087 -> ok 19:21:03.102 -> ok 19:21:03.116 -> ok 19:21:03.130 -> ok 19:21:03.144 -> ok 19:21:03.158 -> ok 19:21:03.172 -> ok 19:21:03.187 -> ok 19:21:03.202 -> ok 19:21:03.216 -> ok 19:21:03.230 -> ok 19:21:03.245 -> ok 19:21:03.258 -> ok 19:21:03.272 -> ok 19:21:03.286 -> ok 19:21:03.301 -> ok 19:21:03.315 -> ok 19:21:03.329 -> ok 19:21:03.343 -> ok 19:21:03.358 -> ok 19:21:03.372 -> ok 19:21:03.387 -> ok 19:21:03.401 -> ok 19:21:03.415 -> ok 19:21:03.429 -> ok 19:21:03.443 -> ok 19:21:03.458 -> ok 19:21:03.472 -> ok 19:21:03.486 -> ok 19:21:03.500 -> ok 19:21:03.514 -> ok 19:21:03.528 -> ok 19:21:03.543 -> ok 19:21:03.557 -> ok 19:21:03.571 -> ok 19:21:03.585 -> ok 19:21:03.599 -> ok 19:21:03.614 -> ok 19:21:03.628 -> ok 19:21:03.642 -> ok 19:21:03.657 -> ok 19:21:03.671 -> ok 19:21:03.686 -> ok 19:21:03.699 -> ok 19:21:03.713 -> ok 19:21:03.728 -> ok 19:21:03.743 -> ok 19:21:03.757 -> ok 19:21:03.771 -> ok 19:21:03.785 -> ok 19:21:03.800 -> ok 19:21:03.815 -> ok 19:21:03.828 -> ok 19:21:03.843 -> ok 19:21:03.857 -> ok 19:21:03.871 -> ok 19:21:03.885 -> ok 19:21:03.899 -> ok 19:21:03.914 -> ok 19:21:03.928 -> ok 19:21:03.943 -> ok 19:21:03.957 -> ok 19:21:03.971 -> ok 19:21:03.987 -> ok 19:21:04.000 -> ok 19:21:04.014 -> ok 19:21:04.028 -> ok 19:21:04.043 -> ok 19:21:04.057 -> ok 19:21:04.070 -> ok 19:21:04.085 -> ok 19:21:04.099 -> ok 19:21:04.113 -> ok 19:21:04.127 -> ok 19:21:04.143 -> ok 19:21:04.156 -> ok 19:21:04.170 -> ok 19:21:04.185 -> ok 19:21:04.199 -> ok 19:21:04.213 -> ok 19:21:04.228 -> ok 19:21:04.241 -> ok 19:21:04.255 -> ok 19:21:04.270 -> ok 19:21:04.284 -> ok 19:21:04.299 -> ok 19:21:04.316 -> ok 19:21:04.326 -> ok 19:21:04.341 -> ok 19:21:04.355 -> ok 19:21:04.370 -> ok 19:21:04.384 -> ok 19:21:04.398 -> ok 19:21:04.412 -> ok 19:21:04.427 -> ok 19:21:04.441 -> ok 19:21:04.455 -> ok 19:21:04.469 -> ok 19:21:04.483 -> ok 19:21:04.497 -> ok 19:21:04.511 -> ok 19:21:04.526 -> ok 19:21:04.540 -> ok 19:21:04.554 -> ok 19:21:04.569 -> ok 19:21:04.583 -> ok 19:21:04.597 -> ok 19:21:04.612 -> ok 19:21:04.626 -> ok 19:21:04.640 -> ok 19:21:04.654 -> ok 19:21:04.669 -> ok 19:21:04.683 -> ok 19:21:04.697 -> ok 19:21:04.711 -> ok 19:21:04.725 -> ok 19:21:04.740 -> ok 19:21:04.754 -> ok 19:21:04.768 -> ok 19:21:04.787 -> ok 19:21:04.796 -> ok 19:21:04.812 -> ok 19:21:04.825 -> ok 19:21:04.840 -> ok 19:21:04.853 -> ok 19:21:04.867 -> ok 19:21:04.882 -> ok 19:21:04.897 -> ok 19:21:04.911 -> ok 19:21:04.925 -> ok 19:21:04.939 -> ok 19:21:04.953 -> ok 19:21:04.967 -> ok 19:21:04.981 -> ok 19:21:04.996 -> ok 19:21:05.010 -> ok 19:21:05.024 -> ok 19:21:05.039 -> ok 19:21:05.053 -> ok 19:21:05.067 -> ok 19:21:05.087 -> ok 19:21:05.095 -> ok 19:21:05.110 -> ok 19:21:05.124 -> ok 19:21:05.138 -> ok 19:21:05.153 -> ok 19:21:05.167 -> ok 19:21:05.182 -> ok 19:21:05.195 -> ok 19:21:05.215 -> ok 19:21:05.224 -> ok 19:21:05.239 -> ok 19:21:05.253 -> ok 19:21:05.267 -> ok 19:21:05.282 -> ok 19:21:05.296 -> ok 19:21:05.310 -> ok 19:21:05.325 -> ok 19:21:05.339 -> ok 19:21:05.353 -> ok 19:21:05.367 -> ok 19:21:05.381 -> ok 19:21:05.395 -> ok 19:21:05.410 -> ok 19:21:05.425 -> ok 19:21:05.438 -> ok 19:21:05.453 -> ok 19:21:05.467 -> ok 19:21:05.481 -> ok 19:21:05.495 -> ok 19:21:05.523 -> ok 19:21:05.524 -> ok 19:21:05.538 -> ok 19:21:05.552 -> ok 19:21:05.567 -> ok 19:21:05.581 -> ok 19:21:05.595 -> ok 19:21:05.609 -> ok 19:21:05.623 -> ok 19:21:05.637 -> ok 19:21:05.652 -> ok 19:21:05.666 -> ok 19:21:05.680 -> ok 19:21:05.695 -> ok 19:21:05.709 -> ok 19:21:05.723 -> ok 19:21:05.737 -> ok 19:21:05.751 -> ok 19:21:05.766 -> ok 19:21:05.780 -> ok 19:21:05.794 -> ok 19:21:05.809 -> ok 19:21:05.823 -> ok 19:21:05.837 -> ok 19:21:05.851 -> ok 19:21:05.866 -> ok 19:21:05.880 -> ok 19:21:05.894 -> ok 19:21:05.908 -> ok 19:21:05.922 -> ok 19:21:05.936 -> ok 19:21:05.950 -> ok 19:21:05.965 -> ok 19:21:05.979 -> ok 19:21:05.993 -> ok 19:21:06.007 -> ok 19:21:06.021 -> ok 19:21:06.036 -> ok 19:21:06.051 -> ok 19:21:06.064 -> ok 19:21:06.079 -> ok 19:21:06.093 -> ok 19:21:06.107 -> ok 19:21:06.122 -> ok 19:21:06.137 -> ok 19:21:06.151 -> ok 19:21:06.165 -> ok 19:21:06.180 -> ok 19:21:06.194 -> ok 19:21:06.208 -> ok 19:21:06.222 -> ok 19:21:06.237 -> ok 19:21:06.251 -> ok 19:21:06.265 -> ok 19:21:06.282 -> ok 19:21:06.293 -> ok 19:21:06.308 -> ok 19:21:06.322 -> ok 19:21:06.336 -> ok 19:21:06.351 -> ok 19:21:06.364 -> ok 19:21:06.379 -> ok 19:21:06.393 -> ok 19:21:06.407 -> ok 19:21:06.422 -> ok 19:21:06.436 -> ok 19:21:06.454 -> ok 19:21:06.464 -> ok 19:21:06.478 -> ok 19:21:06.492 -> ok 19:21:06.507 -> ok 19:21:06.521 -> ok 19:21:06.536 -> ok 19:21:06.550 -> ok 19:21:06.564 -> ok 19:21:06.578 -> ok 19:21:06.593 -> ok 19:21:06.607 -> ok 19:21:06.621 -> ok 19:21:06.636 -> ok 19:21:06.649 -> ok 19:21:06.663 -> ok 19:21:06.678 -> ok 19:21:06.691 -> ok 19:21:06.706 -> ok 19:21:06.721 -> ok 19:21:06.735 -> ok 19:21:06.749 -> ok 19:21:06.763 -> ok 19:21:06.778 -> ok 19:21:06.792 -> ok 19:21:06.806 -> ok 19:21:06.820 -> ok 19:21:06.834 -> ok 19:21:06.848 -> ok 19:21:06.863 -> ok 19:21:06.882 -> ok 19:21:06.891 -> ok 19:21:06.906 -> ok 19:21:06.919 -> ok 19:21:06.934 -> ok 19:21:06.948 -> ok 19:21:06.962 -> ok 19:21:06.977 -> ok 19:21:06.991 -> ok 19:21:07.005 -> ok 19:21:07.020 -> ok 19:21:07.034 -> ok 19:21:07.048 -> ok 19:21:07.062 -> ok 19:21:07.076 -> ok 19:21:07.091 -> ok 19:21:07.105 -> ok 19:21:07.119 -> ok 19:21:07.134 -> ok 19:21:07.147 -> ok 19:21:07.161 -> ok 19:21:07.176 -> ok 19:21:07.190 -> ok 19:21:07.204 -> ok 19:21:07.218 -> ok 19:21:07.233 -> ok 19:21:07.247 -> ok 19:21:07.261 -> ok 19:21:07.275 -> ok 19:21:07.289 -> ok 19:21:07.304 -> ok 19:21:07.318 -> ok 19:21:07.332 -> ok 19:21:07.346 -> ok 19:21:07.361 -> ok 19:21:07.375 -> ok 19:21:07.392 -> ok 19:21:07.403 -> ok 19:21:07.418 -> ok 19:21:07.432 -> ok 19:21:07.447 -> ok 19:21:07.461 -> ok 19:21:07.475 -> ok 19:21:07.492 -> ok 19:21:07.503 -> ok 19:21:07.517 -> ok 19:21:07.531 -> ok 19:21:07.546 -> ok 19:21:07.560 -> ok 19:21:07.575 -> ok 19:21:07.589 -> ok 19:21:07.603 -> ok 19:21:07.617 -> ok 19:21:07.631 -> ok 19:21:07.648 -> ok 19:21:07.660 -> ok 19:21:07.675 -> ok 19:21:07.689 -> ok 19:21:07.703 -> ok 19:21:07.717 -> ok 19:21:07.732 -> ok 19:21:07.746 -> ok 19:21:07.760 -> ok 19:21:07.774 -> ok 19:21:07.788 -> ok 19:21:07.803 -> ok 19:21:07.817 -> ok 19:21:07.831 -> ok 19:21:07.846 -> ok 19:21:07.860 -> ok 19:21:07.874 -> ok 19:21:07.889 -> ok 19:21:07.903 -> ok 19:21:07.917 -> ok 19:21:07.931 -> ok 19:21:07.946 -> ok 19:21:07.961 -> ok 19:21:07.975 -> ok 19:21:07.989 -> ok 19:21:08.003 -> ok 19:21:08.017 -> ok 19:21:08.031 -> ok 19:21:08.046 -> ok 19:21:08.060 -> ok 19:21:08.074 -> ok 19:21:08.088 -> ok 19:21:08.102 -> ok 19:21:08.116 -> ok 19:21:08.130 -> ok 19:21:08.148 -> ok 19:21:08.159 -> ok 19:21:08.174 -> ok 19:21:08.188 -> ok 19:21:08.202 -> ok 19:21:08.217 -> ok 19:21:08.231 -> ok 19:21:08.245 -> ok 19:21:08.260 -> ok 19:21:08.273 -> ok 19:21:08.287 -> ok 19:21:08.302 -> ok 19:21:08.316 -> ok 19:21:08.330 -> ok 19:21:08.345 -> ok 19:21:08.358 -> ok 19:21:08.373 -> ok 19:21:08.387 -> ok 19:21:08.401 -> ok 19:21:08.415 -> ok 19:21:08.430 -> ok 19:21:08.446 -> ok 19:21:08.458 -> ok 19:21:08.472 -> ok 19:21:08.486 -> ok 19:21:08.501 -> ok 19:21:08.515 -> ok 19:21:08.529 -> ok 19:21:08.543 -> ok 19:21:08.558 -> ok 19:21:08.572 -> ok 19:21:08.587 -> ok 19:21:08.604 -> ok 19:21:08.614 -> ok 19:21:08.628 -> ok 19:21:08.643 -> ok 19:21:08.658 -> ok 19:21:08.672 -> ok 19:21:08.686 -> ok 19:21:08.700 -> ok 19:21:08.714 -> ok 19:21:08.728 -> ok 19:21:08.742 -> ok 19:21:08.757 -> ok 19:21:08.771 -> ok 19:21:08.785 -> ok 19:21:08.800 -> ok 19:21:08.814 -> ok 19:21:08.829 -> ok 19:21:08.843 -> ok 19:21:08.856 -> ok 19:21:08.871 -> ok 19:21:08.885 -> ok 19:21:08.899 -> ok 19:21:08.915 -> ok 19:21:08.928 -> ok 19:21:08.942 -> ok 19:21:08.956 -> ok 19:21:08.970 -> ok 19:21:08.985 -> ok 19:21:08.999 -> ok 19:21:09.013 -> ok 19:21:09.028 -> ok 19:21:09.042 -> ok 19:21:09.056 -> ok 19:21:09.070 -> ok 19:21:09.084 -> ok 19:21:09.099 -> ok 19:21:09.113 -> ok 19:21:09.128 -> ok 19:21:09.142 -> ok 19:21:09.156 -> ok 19:21:09.170 -> ok 19:21:09.185 -> ok 19:21:09.199 -> ok 19:21:09.214 -> ok 19:21:09.228 -> ok 19:21:09.243 -> ok 19:21:09.257 -> ok 19:21:09.271 -> ok 19:21:09.285 -> ok 19:21:09.299 -> ok 19:21:09.316 -> ok 19:21:09.328 -> ok 19:21:09.342 -> ok 19:21:09.356 -> ok 19:21:09.370 -> ok 19:21:09.384 -> ok 19:21:09.399 -> ok 19:21:09.413 -> ok 19:21:09.427 -> ok 19:21:09.441 -> ok 19:21:09.456 -> ok 19:21:09.470 -> ok 19:21:09.484 -> ok 19:21:09.498 -> ok 19:21:09.512 -> ok 19:21:09.527 -> ok 19:21:09.541 -> ok 19:21:09.555 -> ok 19:21:09.570 -> ok 19:21:09.584 -> ok 19:21:09.598 -> ok 19:21:09.612 -> ok 19:21:09.626 -> ok 19:21:09.640 -> ok 19:21:09.655 -> ok 19:21:09.669 -> ok 19:21:09.683 -> ok 19:21:09.698 -> ok 19:21:09.712 -> ok 19:21:09.725 -> ok 19:21:09.740 -> ok 19:21:09.754 -> ok 19:21:09.769 -> ok 19:21:09.783 -> ok 19:21:09.797 -> ok 19:21:09.814 -> ok 19:21:09.825 -> ok 19:21:09.840 -> ok 19:21:09.854 -> ok 19:21:09.869 -> ok 19:21:09.882 -> ok 19:21:09.897 -> ok 19:21:09.911 -> ok 19:21:09.925 -> ok 19:21:09.940 -> ok 19:21:09.954 -> ok 19:21:09.968 -> ok 19:21:09.982 -> ok 19:21:09.996 -> ok 19:21:10.010 -> ok 19:21:10.025 -> ok 19:21:10.040 -> ok 19:21:10.053 -> ok 19:21:10.067 -> ok 19:21:10.083 -> ok 19:21:10.096 -> ok 19:21:10.114 -> ok 19:21:10.125 -> ok 19:21:10.139 -> ok 19:21:10.153 -> ok 19:21:10.168 -> ok 19:21:10.182 -> ok 19:21:10.196 -> ok 19:21:10.210 -> ok 19:21:10.224 -> ok 19:21:10.238 -> ok 19:21:10.252 -> ok 19:21:10.267 -> ok 19:21:10.281 -> ok 19:21:10.295 -> ok 19:21:10.309 -> ok 19:21:10.324 -> ok 19:21:10.338 -> ok 19:21:10.352 -> ok 19:21:10.368 -> ok 19:21:10.381 -> ok 19:21:10.395 -> ok 19:21:10.410 -> ok 19:21:10.424 -> ok 19:21:10.438 -> ok 19:21:10.452 -> ok 19:21:10.467 -> ok 19:21:10.482 -> ok 19:21:10.496 -> ok 19:21:10.510 -> ok 19:21:10.524 -> ok 19:21:10.539 -> ok 19:21:10.553 -> ok 19:21:10.568 -> ok 19:21:10.582 -> ok 19:21:10.596 -> ok 19:21:10.610 -> ok 19:21:10.624 -> ok 19:21:10.638 -> ok 19:21:10.652 -> ok 19:21:10.667 -> ok 19:21:10.682 -> ok 19:21:10.696 -> ok 19:21:10.710 -> ok 19:21:10.724 -> ok 19:21:10.738 -> ok 19:21:10.752 -> ok 19:21:10.766 -> ok 19:21:10.780 -> ok 19:21:10.794 -> ok 19:21:10.810 -> ok 19:21:10.824 -> ok 19:21:10.838 -> ok 19:21:10.852 -> ok 19:21:10.866 -> ok 19:21:10.883 -> ok 19:21:10.894 -> ok 19:21:10.909 -> ok 19:21:10.923 -> ok 19:21:10.937 -> ok 19:21:10.951 -> ok 19:21:10.966 -> ok 19:21:10.980 -> ok 19:21:10.995 -> ok 19:21:11.009 -> ok 19:21:11.023 -> ok 19:21:11.036 -> ok 19:21:11.051 -> ok 19:21:11.065 -> ok 19:21:11.079 -> ok 19:21:11.093 -> ok 19:21:11.108 -> ok 19:21:11.122 -> ok 19:21:11.136 -> ok 19:21:11.150 -> ok 19:21:11.164 -> ok 19:21:11.179 -> ok 19:21:11.193 -> ok 19:21:11.208 -> ok 19:21:11.221 -> ok 19:21:11.236 -> ok 19:21:11.250 -> ok 19:21:11.265 -> ok 19:21:11.279 -> ok 19:21:11.293 -> ok 19:21:11.307 -> ok 19:21:11.322 -> ok 19:21:11.336 -> ok 19:21:11.349 -> ok 19:21:11.364 -> ok 19:21:11.379 -> ok 19:21:11.394 -> ok 19:21:12.416 -> item: stop
5. 总结
通过对本次采用ESP8266node MCU开发板,利用自身软硬件串口通讯,采用关键字符串实现开灯功能。,接下来会有许多有趣的实验,尝试与Arduino通讯做语音小车,进而丰富我们的生活。🛹🛹🛹从而实现对外部世界进行感知,充分认识这个有机与无机的环境,科学地合理地进行创作和发挥效益,然后为人类社会发展贡献一点微薄之力。🤣🤣🤣