Robofun 機器人論壇

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

mega2560 藍芽接腳問題

[複製鏈接]
跳轉到指定樓層
1#
發表於 2016-1-19 18:32:40 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
我想用藍芽傳輸字串到板子
接腳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;
}


請問是我哪裡有問題嗎?
2#
發表於 2016-1-19 19:40:37 | 只看該作者
如果用 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).
3#
 樓主| 發表於 2016-1-20 07:01:13 | 只看該作者
已解決~謝謝!不過0/1,14~19好像都不行,因為它上面有標RX/TX所以我都有試過
4#
發表於 2016-1-20 08:12:13 | 只看該作者
本帖最後由 超新手 於 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, 速度會快一點
5#
 樓主| 發表於 2016-1-20 10:12:30 | 只看該作者
本帖最後由 oscertom 於 2016-1-20 10:48 編輯

感謝你又解決我另一個問題了!因為之前用energia都用Serial1,後來換成mega用一樣的程式碼插在0/1,所以一直沒辦法用,
現在終於知道為什麼了
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-4-29 05:16 , Processed in 0.266747 second(s), 8 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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