问题标签 [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.
timer - 使用 Servo 和 SoftwareSerial 时遇到计时器冲突问题
我在 Arduino Nano 板上使用 Servo.h 和 SoftwareSerial.h 时遇到计时器冲突问题。现在我需要 2 对串行引脚,通过在我的笔记本电脑上使用 NFC 模块和 Arduino 的串行监视器。
如果我得到的信息没有错的话,Nano board 中提供了三个定时器(timer0、timer1、timer2)。我听说 timer1 是 16 位定时器,Servo.h 和 SoftwareSerial.h 在 Nano 板上同时使用该 timer1,这就是他们无法避免定时器冲突问题的原因。
然而,我需要在没有计时器冲突的情况下使用这两个头文件。在这种情况下,我该怎么办?我是否必须修改 Servo.h 文件才能不使用 timer1?
因为我对伺服电机所做的只是控制角位置。
因此,除非我使用 PWM 控制,否则在我正在进行的这个项目中使用 16 位定时器是没有用的。
所以,此时,我想使用 timer0 或 timer2(都是 8 位定时器)而不是使用 timer1。否则,Servo 和 Software 头文件中的 timer1 将发生冲突。以下是我使用的源代码。
概括
我在使用 Servo.h 和 SoftwareSerial.h 时遇到计时器冲突问题。
他们都同时共享 timer1。为了避免这种碰撞问题并使这两个工作正常,我应该怎么做?我应该对源代码做一些事情,比如添加几行代码或修改那些头文件吗?
arduino - 如何通过 Softwareserial 库循环模拟读取多个 RFID 阅读器?
我正在做一个需要同时读取六个 ID-12LA RFID 阅读器的项目。
我尝试通过 Sparkfun 模拟/数字 MUX 分线板 (CD74HC4067) 设置六个通道的读数,但没有运气。我不知道它是否能够进行串行通信,尽管我在 Bildr.org 上看到过。
但是,我现在正在尝试通过 SoftwareSerial 库模拟从多个串行端口读取。我读过它不能同时阅读,但也许一个循环可以模拟同时收听。我试图通过监听第一个序列,然后初始化readTag()
,然后在该函数完成后,开始监听第二个序列,然后初始化第二个函数。
当仅连接RFID阅读器时,该readTag()
功能能够自行阅读,所以这不是问题。
下面是代码。
通过循环功能进行和模拟同时阅读的正确方法是什么?
arduino - Arduino延迟功能和SoftwareSerial之间的冲突
看来我在 SoftwareSerial 和delay
我的 Arduino 上的功能(GeekCreit 在 Banggood 上购买)之间存在冲突。我正在尝试使用 SoftwareSerial 将 AT 命令发送到 ESP-01。
当我执行:
一切正常,发送了 AT 命令,我收到了 ESP 的响应。
但是当我在发送 AT 命令之前添加延迟时,什么都没有发生:没有发送命令,ESP 没有回答。
我做错了什么,有人遇到过同样的问题吗?
我尝试改用 AltSoftSerial,但我遇到了同样的问题。
arduino - Arduino Leonardo 上的蓝牙软串行和 PS2 控制器
我正在尝试组合两个被识别为单个游戏手柄/控制器的输入源。为此,我使用了一个 Arduino Leonardo,它可以使用Joystick.h
库轻松转换为 HID 设备。作为输入,我使用 (1) 带有 PS2x 库的 PS2 控制器和 (2) 来自在主模式下工作的 HC-05 的蓝牙串行数据。
我已经构建了一个单独的草图来读取和解析蓝牙数据,甚至设法通过Joystick.h
库将其转发到 PC。
同时,为了使用 PS2 控制器,我使用相同的 Arduino Leonardo 将 PS2 连接到 USB。然而,当我试图结合这两个草图(结合来自 BT 和 PS2 的两个输入)时,有些东西不起作用。
我发现用于从 PS2 控制器读取值的 PS2_lib 会阻止 Arduino 读取 BTSerial 数据或反之亦然。
这是草图,当ReadOneByte()
被调用时,没有任何效果。
如果我注释掉 while 循环,PS2 和游戏手柄就可以工作。
完整草图:
serial-port - Arduino SoftwareSerial Rx/Tx 引脚顺序错误?
我正在编写代码以在由 Arduino 作为 ISP 编程的 ATtiny 上运行。ATtiny 通过串行链路向 RN42 蓝牙模块发送 AT 命令。
由于阁楼没有 UART,我在引脚 0 和 1 上使用 SoftwareSerial。将 Tx 放在“数据输出”/MISO 引脚上,将 Rx 放在“数据输入”/MOSI 引脚上似乎是合乎逻辑的。文档说要像 SoftwareSerial mySerial(Rx, Tx); 但我发现它只有在你像 SoftwareSerial mySerial(Tx, Rx);
我已经截取了我的代码和引脚分配的屏幕截图,我觉得我错过了一些东西,但是当我这样做时,它可以工作并使蓝牙模块进入命令模式。文档是错误的吗?
arduino - ATtiny85 与蓝牙模块的串行通信
对于一个简单的项目,我想使用连接到 HC-06 蓝牙模块的 ATtiny85,这样它就可以与我的 Android 手机通话。
我为我的 Arduino Uno 编写了代码,它按预期工作。当我更改要在我的 ATTiny85 上使用的代码时,我收到一条错误消息,'Serial' was not declared in this scope
并假设 ATTiny 不支持硬件串行。
我需要在收到时读取一个字符串,在没有收到时让 MCU 休眠。我去使用 SoftwareSerial 并且无法获得字符串,只是第一个字符。
我以某种方式接近它,例如将 a 定义char string[10];
为全局并string[i] = mySerial.read(); i++;
在循环内部,但它一直不起作用。无论是睡眠,还是我读取数据的工作,我都无法让它工作。
有人可以提供一种方法让 ATTiny85 进入睡眠状态,唤醒以通过串行接收字符串并睡眠直到通过串行的下一个数据,好吗?
睡觉我正在使用
我的循环就像
谢谢大家。
arduino - ESP8266 - 来自服务器的响应被切断
我正在使用通过 SoftwareSerial 连接到 Arduino 的 ESP8266 向节点 Web 服务器发出发布请求。ESP8266 向服务器发送一些数据,它应该取回其他数据。数据正确到达服务器,但来自服务器的响应不完整(每次都以不同的方式被切断),我无法从我的 Arduino 草图访问响应的主体。服务器正确发送响应,正如我使用 hurl 检查过的那样。
这是我的代码:
serial-communication - 我想了解 Nodemcu 中的串行通信。我们如何像在 arduino 中使用的那样一次使用 2 个以上的序列
我是新手,我只想知道我们是否可以通过使用软件串行在 nodemcu 中使用超过 2 个串行通信。我目前正在使用 3 个需要串行通信的模块,我想将它们与单个 Nodemcu 一起使用。可能吗?
我正在尝试将 GPIO 4 和 5 用于一个串行 Comm,将 Rxd2 和 Txd2 用于第二个串行。它会起作用吗?
arduino - 由于 GPS 模块,如何连接 Arduino?
我正在做一个 Arduino 项目,我是 Arduino 的初学者,所以我开始从互联网上获取代码并尝试学习和理解它,
https://www.hackster.io/bigboystoys13/diymall-gprs-gps-sim5320e-3g-module-at-commands-d1cbfe
我尝试将此代码上传到Due板,因此软件串行库出现错误,这是错误: