首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果连接到SoftwareSerial,则无法打印到串行

如果连接到SoftwareSerial,则无法打印到串行
EN

Stack Overflow用户
提问于 2019-08-16 21:31:36
回答 1查看 457关注 0票数 0

我希望将HC-05蓝牙模块连接到ESP8266,并在if/else语句中使用从蓝牙模块接收的输入。

这样做的时候,我可以从蓝牙接收数据到串口,但是我不能使用Arduino IDE串口打印字符。如果我.begin蓝牙串行连接,为什么println不再适用于串行?

已尝试不同的波特率和不同的引脚

代码语言:javascript
复制
#include <SoftwareSerial.h>

SoftwareSerial BTserial(1, 3); // RX | TX

String reading;

void setup() 
{
    // Arduino IDE serial monitor
    Serial.begin(9600);

    Serial.println("hoihoi");
    // HC-05 default serial speed for AT mode is 38400
    BTserial.begin(9600);  

    // Wait for hardware to initialize
    delay(1000);

    // Print debug string
}

void loop()
{
  Serial.println("hoi");
   // Keep reading from HC-05 and send to Arduino Serial Monitor
   if (BTserial.available())
   {
      String reading = (String)BTserial.read();
      Serial.println(reading);

      //input from mobile is 1 AKA 10% PWM
      if(reading == "1"){
        Serial.println("Input from Bluetooth is 1");
      } 

      //input from mobile is 2 AKA 100% PWM
      else if(reading == "2") {
        Serial.println("Input from Bluetooth is 2");        
      }

      //input from mobile is 3 AKA 0% PWM
      else if(reading == "3") {
        Serial.println("Input from Bluetooth is 3");        
      }  
   }
}

我想在if/else语句中使用从蓝牙模块接收的数据,并将其输出到Serial中。

但是,目前我无法将任何内容打印到Serial。当我删除“BTserial.begin(9600);”时,我可以输出到串行。

EN

回答 1

Stack Overflow用户

发布于 2019-08-21 23:18:12

几年前我也遇到过同样的问题。你差一点就成功了!但是引脚1仍然被'SoftwareSerial BTserial(1,3)‘占用

默认情况下,Arduino UNO使用引脚0和1作为RX、TX与串行监视器通信。这意味着如果您将某些东西连接到这些针脚,您将无法在串行监视器上打印。

只需改变你的密码就能解决你的问题-> 'SoftwareSerial BTserial(2,3)‘

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57525570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档