Robofun 機器人論壇
標題:
mega2560 藍芽接腳問題
[打印本頁]
作者:
oscertom
時間:
2016-1-19 18:32
標題:
mega2560 藍芽接腳問題
我想用藍芽傳輸字串到板子
接腳R/T 用10/11都沒問題
可是換到0/1 16/17 18/19... 其他任何腳位都不能用
#include <SoftwareSerial.h>
#define MAX_SIZE 128
SoftwareSerial BTSerial(10,11); // Arduino RX/TX
byte cmd[MAX_SIZE];
int len = 0;
void setup() {
Serial.begin(115200);
BTSerial.begin(115200);
}
void loop() {
char str[MAX_SIZE];
int insize, ii;
int tick=0;
while ( tick<MAX_SIZE ) {
if ( (insize=(BTSerial.available()))>0 ){
for ( ii=0; ii<insize; ii++ ){
cmd[(len++)%MAX_SIZE]=char(BTSerial.read());
}
} else {tick++;}
}
if ( len ) {
sprintf(str,"%s",cmd);
Serial.println(str);
cmd[0] = '\0';
}
len = 0;
}
請問是我哪裡有問題嗎?
作者:
超新手
時間:
2016-1-19 19:40
如果用 mega,RX 只支援以下接腳
10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69).
作者:
oscertom
時間:
2016-1-20 07:01
已解決~
謝謝!
不過0/1,14~19好像都不行,
因為它上面有標RX/TX所以我都有試過
作者:
超新手
時間:
2016-1-20 08:12
本帖最後由 超新手 於 2016-1-20 08:13 編輯
0/1 14~19 是硬體 UART, 不必使用SoftwareSerial
SoftwareSerial 是使用I/O, 用軟體去模擬 UART
0/1 要使用 Serial(你的程式已用它來 debug)
14/15 要使用 Serial3
16/17 要使用 Serial2
18/19 要使用 Serial1
其實直接用 MEGA 的 硬體 UART, 速度會快一點
作者:
oscertom
時間:
2016-1-20 10:12
本帖最後由 oscertom 於 2016-1-20 10:48 編輯
感謝你又解決我另一個問題了!因為之前用energia都用Serial1,
後來換成mega用一樣的程式碼插在0/1,所以一直沒辦法用,
現在終於知道為什麼了
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2