问题标签 [software-serial]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
string - 使用ESP8266的软件串口
我正在使用 UART 线上的 STM32F103 将保存在 SD 卡上的 CSV 文件传输到 ESP8266,文件读取和 UART 传输片段如下。 STM32f103 的 While 循环用于读取/传输文件。
使用 ESP8266 代码上的软件串行代码,我可以从 STM32F103 读取传输的字符串,传输字符串的实际长度为 59,但我在串行监视器 ESP8266 串行监视器输出上得到以下输出
软件代码如下
我已经使用上面的代码进行读取,但是在第一个字符串大约 125 之后长度显示不同,并且因为第一次它被复制到 char 缓冲区但进一步显示为空。
如果有人能说明导致此问题的原因以及如何解决它,将不胜感激,谢谢!
arduino - 带有 ESP8266 的 EspSoftwareSerial:错误没有匹配函数调用“SoftwareSerial::SoftwareSerial()”
我正在尝试使用 EspSoftwareSerial 库(目标 ESP8266)使用 Arduino IDE 1.8.13 进行编程。无论提供我尝试编译的示例,我都会收到一个错误(例如对于程序“servoTester”):
我不熟悉 C++ 和 Arduino(但我很了解微控制器上的 C)。我有点无聊,我到处寻找解决方案,感觉不是唯一一个遇到这个问题的人,但我还没有找到有效的解决方案。
我尝试过了 :
- 将 <> 更改为 ""
- 安装 EspSoftwareSerial 库后重启 Arduino
- 重新安装 Arduino
- 和各种荒谬的事情%-(
有人有想法吗?
string - 在 Arduino SoftwareSerial (iSerial.println(String_Variable)) 中使用/操作字符串变量
根据主题,如何操作通过 SoftwareSerial Print/Println 函数传递的字符串?我之所以尝试使 URL 参数动态化以访问不同的网页。
*注意:如果不使用字符串变量,下面的代码片段可以正常工作
*工作是指可以使用SIM900(AT+HTTPPARA)通过simcard访问网页
我什至尝试使用 malloc() 和 toCharArray() 将字符串转换为数组,但是当我使用 SoftwareSerial 打印函数时它仍然无法正常工作。
我是 Arduino 的新手。好心提醒。谢谢!:)
mp3 - YX5300串口mp3播放器模块如何连接esp32?
我对 IOT 和 esp32 还很陌生,但到目前为止我还是自己学习,但是,当我尝试将 YX5300 串行 mp3 模块连接到我的 esp32 时,我什至很难让 #include 库正常工作。
我将 vscode 与 platformio 一起使用,并在我的项目中安装了“SerialMP3Player”库以使其工作。
将库安装到我的项目后,我收到错误说还需要安装“SoftwareSerial”库,所以我安装了它,现在,在这样做之后,我当前的错误是:
所以我的问题是现在该怎么办?继续查找并安装在构建错误中弹出的库,还是我只是遗漏了一些明显的东西?
另外,是否可以将此模块连接到 esp32 板?我只遇到过使用 arduino 板变体的示例。
谢谢!
arduino - Arduino SoftwareSerial Write蓝牙切断静态短信回写
我对 Arduino 很陌生,所以这可能是一些我不知道的非常简单的 C/C++ 问题
我正在研究一个 RGB LED Cube,它是根据 GreatScott 的视频制作的。它工作正常。我决定通过添加蓝牙来改进可以用它完成的事情。我正在使用来自 DSD 技术的 HM-11。
我可以毫无问题地通过蓝牙将命令从手机写入 arduino,并使用它来交换模式。
我面临的问题是当我尝试通过蓝牙回写手机时。我正在通过蓝牙发回帮助文本,以便连接到它并发送帮助的任何人都可以找到支持的命令列表。使用 SoftwareSerial,我有以下(问题区域的片段):
当它运行时,串口接收:
============== RGBCube 蓝牙帮助 =============== 命令:
mode:# 选择在
帮助中操作的模式 拉起帮助屏幕(this)模式仅限 4:
reset 将立方体重置为黑色
pt:x,y,z=r,g,b 将 (x,y,z) 处的 LED 设置为 rgb set:r,g,b;r,g,b... 设置整个立方体到
指定的颜色
64 色长。
比 64 点呼叫更快
但我的手机最多接收:
============== RGBCube 蓝牙帮助 =============== 命令:
mode:# 选择在
帮助中操作的模式 拉起帮助屏幕(this)模式仅限 4:
reset 将立方体重置为黑色
pt:x,y,z=r,g,b 将 (x,y,z) 处的 LED 设置为 rgb set:r,g,b;r,g,b... 设置整个立方体到
如您所见,这是被截断的。我尝试了很多事情,包括将字符串推入 progmem,将其分割成更小的字符串,用于循环的 Char 数组,强制将其保存在闪存中等。将其切割成更小的字符串是可行的,但我真的不想那样做,因为我要添加的下一件事是从手机到 arduino 的类似长度写入。
有时也会出现更少的字符,但这是平均值和最大值,这让我觉得有某种形式的限制,但它不是 2 的倍数(我最后数了一下大约 80ish)
任何帮助将不胜感激。
arduino - Arduino 顺序软件serial.print() 覆盖自身
我仍然无法从 DSD 技术的 HM-11 蓝牙写入手机应用程序(Play 商店中的串行蓝牙终端 1.35)。
根据我上一篇文章的结果,我的代码目前将一个大字符串切成 2,因为 BLE 的最大缓冲区约为 252 字节。我面临的问题是目前需要delay(450)来防止乱码。
延迟输出:
============== RGBCube 蓝牙帮助 =============== 命令:
mode:# 选择在
帮助中操作的模式 拉起帮助屏幕(this)模式仅限 4:
reset 将立方体重置为黑色
pt:x,y,z=r,g,b 将 (x,y,z) 处的 LED 设置为 rgb set:r,g,b;r,g,b... 设置整个立方体到
指定的颜色
64 色长。
比 64 点呼叫更快
不延误:
============== RGBCube 蓝牙帮助 =============== 命令:
mode:# 选择在
帮助中操作的模式 拉起帮助屏幕(this)模式仅限 4:
reset 将立方体重置为黑色
,b;r,g,b... setspt:x,y,z=r,g,b 整个立方体到
我认为这与清除串行的速度有关,但是花那么长时间没有意义,因为 450 毫秒在计算机时间中非常长,尤其是在蓝牙的 115200 波特时
esp8266 - ESP8266 SoftwareSerial 丢失从 Nextion 返回的最后一个字节(但适用于 Nano)
我从连接到 esp8266(Nodemcu v0.9)的 Nextion 返回的数据有问题。我正在以 9600 b/s 的速度与 Nextion 通信。
我有代码可以解析通过 IDE 的串行控制台输入的命令,并将适当的命令发送到 Nextion。这里的相关命令是“getn xxxx”,它要求从 Nextion 获取数值。
例如,“getn 123”发送一个“get 123”,期望得到一个数字结果。(有一个 'gets 123' 发送一个 'get "123"' 但这里没有使用)
当我发送一个“getn 123”后跟一个“getn 222”时,这就是我得到的
请参阅下面的代码清单。
任何有关上述内容的帮助将不胜感激!
arduino - 带有 DFPlayer 的 Arduino Nano BLE 33 不工作
我对 Arduino 电路很陌生,我正在尝试将 DFPlayer Mini 连接到 Arduino Nano BLE 33 Sense。如果我理解正确,库“SoftwareSerial”在 BLE Sense 上不起作用,并且我无法找到使 DFPlayer 正常工作的方法(我也尝试使用 HardwareSerial,但由于某种原因它不起作用) . 你知道有什么方法可以修复连接或找到替换库吗?这是我的代码
我通过编译得到的错误是这个
先感谢您!