Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 4635|回復: 13
打印 上一主題 下一主題

請教 如何在UNO上讀取與接收兩個HC-05

[複製鏈接]
1#
發表於 2017-9-8 16:41:04 來自手機 | 顯示全部樓層
宣告第二組的時候,要改一下名字
例如
SoftwareSerial BT2(6, 7);
不過,softwareserial
不支援兩組同時接收
要呼叫 bt.listen()
或 bt2.listen()
所以
不見得很適合你用
2#
發表於 2017-9-8 19:41:58 來自手機 | 顯示全部樓層
不對,以下有個範例可參考
https://www.arduino.cc/en/Tutorial/TwoPortReceive
重覆一次
它不能兩個uart同時收資料
如果你不懂得要怎麼用,掉資料的機率是百分之百
3#
發表於 2017-9-9 07:40:07 來自手機 | 顯示全部樓層
1)SoftwareSerial 雖然號稱支援兩個以上 serial
但是有限制,也就是不能同時收資料
一旦用bt1.listen 切到 bt1
如果此時 bt2有資料送進來,bt2資料就會不見.用 bt2.listen 切到 bt2 , bt1的
資料也會收不到,所以很難用,需要一點程式技巧
建議改用 mega
2)這樣寫才對
BT1.listen();
while(BT1.available()) {
val = BT1.read();
Serial.print(val);
}
BT2.listen();
while(BT2.available()) {
val = BT2.read();  
Serial.print(val);
}
4#
發表於 2017-9-15 08:23:25 | 顯示全部樓層
1) 把 softwareSerial 宣告拿掉(只要拿掉宣告即可)
也就是去掉以下

#include <SoftwareSerial.h>
SoftwareSerial BT(8, 9); // 接收腳, 傳送腳(第一組)
SoftwareSerial BT2(6, 7); // 接收腳, 傳送腳(第二組)

2) 把其他部份的
BT改成 Serial1
BT2改成 Serial2
就可以了
接腳的部份, 在版子上有定義
18, 19, 16, 17
5#
發表於 2017-9-15 10:08:10 | 顯示全部樓層
無法分行是指?
6#
發表於 2017-9-15 15:35:00 | 顯示全部樓層
本帖最後由 超新手 於 2017-9-15 15:59 編輯

應該是寫錯了
要把程式貼出來才知道為什麼
原則很簡單
如果是負責轉送的
就是 available,  read, write,
不用加delay或雜七雜八的東西
而主要傳送的, 就用
println("Hello world");

7#
發表於 2017-9-15 16:18:40 | 顯示全部樓層
如果用的是序列監控視窗,
記得要選  NL&CR

1.jpg (33.36 KB, 下載次數: 210)

1.jpg
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

小黑屋|手機版|Archiver|機器人論壇 from 2005.07

GMT+8, 2024-5-12 17:03 , Processed in 0.291042 second(s), 8 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表