Robofun 機器人論壇

標題: 想問關於藍芽和esp8266的問題 [打印本頁]

作者: asd8602070    時間: 2018-10-2 14:33
標題: 想問關於藍芽和esp8266的問題
想請問大家,我再同一塊arduino上裝上HC-05還有ESP8266,分別設定腳位是(11,12),(3,4),程式碼如下:
#include <Wire.h>
#include <SoftwareSerial.h>
#define _baudrate   115200
SoftwareSerial BT(11,12);
SoftwareSerial debug(3,4);

然後在void setup(){
  Serial.begin(9600); //Arduino serial port baud rate:9600
  BT.begin(_baudrate);//HC-05的buadrate

  debug.begin(_baudrate);//這裡是問題所在,原本可以透過手機傳訊息來開關pin13的燈泡,加上這個後就不行了。
傳訊息的方式是透過appinventer的藍芽傳文字檔on或off來控制pin13的HIGH,LOW。

  RGB.reserve(30);  
  pinMode(Beep,OUTPUT);
  pinMode(flame,INPUT);
}
想請問大大們,是接線有問題還是程式碼的邏輯出錯了
作者: 超新手    時間: 2018-10-2 17:14
SoftwareSerial 如果要使用兩個以上
一次只能收一個頻道
如果要切換頻道, 必須使用.listen();

void loop() {
BT.listen();
//做 BT 的事
debug.listen();
//做 debug 的事
}
如果切到一邊(如BT), 另一邊(DEBUG)就"有可能"掉資料.
因為是軟體模擬, 所以有限制







作者: asd8602070    時間: 2018-10-2 17:19
本帖最後由 asd8602070 於 2018-10-2 17:23 編輯
超新手 發表於 2018-10-2 17:14
SoftwareSerial 如果要使用兩個以上
一次只能收一個頻道
如果要切換頻道, 必須使用.listen();


非常謝謝!  我馬上來試試
這樣我的void setup()裡面還是一樣裝BT.begin()還有debug.begin(),只是在loop的時候決定要監聽哪一個對吧?
作者: 超新手    時間: 2018-10-2 18:01
對.
但你確定你的程式有辦法切來切去嗎?
注意! 不能切換太快, 否則搞不好兩個都掉資料
其實如果 Serial  沒其他用途
不如想辦法把其中一個改用 Serial



作者: asd8602070    時間: 2018-10-2 19:25
本帖最後由 asd8602070 於 2018-10-2 19:26 編輯
超新手 發表於 2018-10-2 18:01
對.
但你確定你的程式有辦法切來切去嗎?
注意! 不能切換太快, 否則搞不好兩個都掉資料
其實如果 Serial  沒其他用途
不如想辦法把其中一個改用 Serial


請問這是甚麼意思呢,抱歉我還不太熟悉




歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/) Powered by Discuz! X3.2