Arduino开发踩坑

蓝牙模块

基础设置

  • 波特率:要低于38400,否则会出现乱码

  • BT.read()一次只能读取1个字节, 长字节需要拼接

  • 读取数据:parseInt()将接收转为int数

AT模式

  • 断开开发板的电源,长按蓝牙模块按钮,进入AT模式

  • 代码如下。输入AT,若返回为OK则证明没有问题

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    #include <SoftwareSerial.h>

    #define RxD 10
    #define TxD 11

    //SoftwareSerial BTSerial(RxD, TxD);
    #define BTSerial Serial3

    void setup(){
    // replace BAUDRATE as suggested
    BTSerial.begin(9600);
    Serial.begin(38400);
    BTSerial.print("AT\r\n");
    }

    void loop(){

    if (BTSerial.available())
    Serial.write(BTSerial.read());

    if (Serial.available())
    BTSerial.write(Serial.read());

    }