Robofun 機器人論壇

 找回密碼
 申請會員
搜索
熱搜: 活動 交友 discuz
查看: 2343|回復: 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;
}


請問是我哪裡有問題嗎?
5#
 樓主| 發表於 2016-1-20 10:12:30 | 只看該作者
本帖最後由 oscertom 於 2016-1-20 10:48 編輯

感謝你又解決我另一個問題了!因為之前用energia都用Serial1,後來換成mega用一樣的程式碼插在0/1,所以一直沒辦法用,
現在終於知道為什麼了
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, 速度會快一點
3#
 樓主| 發表於 2016-1-20 07:01:13 | 只看該作者
已解決~謝謝!不過0/1,14~19好像都不行,因為它上面有標RX/TX所以我都有試過
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).
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 05:50 , Processed in 0.192060 second(s), 8 queries , Apc On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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