Arduino串口连接需要init吗?

时间:2014-11-22 11:38:20

标签: bluetooth arduino

我的arduino Uno已连接到蓝牙模块(hm-10),它们通过uart从arduino tx,rx引脚连接。

发生了一些奇怪的事情:

  1. arduino正在启动与模块的串行通信。

  2. 然后其他一些设备连接到模块(无线配对)

  3. 这里,与模块的Arduino连接以某种方式丢失了,为了从模块的UART获取数据到Arduino,我必须 RESET 这里的arduino,让它重新连接模块(我猜)然后我才能将数据发送到模块,arduino会看到这些数据。

  4. 如果我没有重置arduino模块与远程设备配对后,arduino将无法从模块获取数据:

     void setup() 
     {
    
       pinMode(13, OUTPUT);
    
       Serial.begin(9600); 
       while (!Serial) 
       {
        ;  
       }
    
     }
    
      String content = "";
      char character;  
    
    
     void loop() 
    {
    
          while(Serial.available()) 
          {
    
          character = Serial.read();
          content.concat(character);
              digitalWrite(13, HIGH);  
           }
    
        if(content=="myName")
           digitalWrite(13, HIGH);    
           else
             digitalWrite(13,LOW);  
    
    } 
    

1 个答案:

答案 0 :(得分:0)

要尝试的几件事情:

  1. 您可以删除初始化循环失败吗?

    while(!Serial)    {     ;
       }

  2. 如果不起作用,请尝试在Arduino串行初始化之前添加延迟。

  3. Delay(1000); Serial.begin(9600);

    我有一个理论说你的硬件在上电时会导致一些垃圾数据,这阻止了Arduino的UART初始化。