带HC-05的Arduino Micro:以奇怪的编码接收数据

带HC-05的Arduino Micro:以奇怪的编码接收数据,arduino,bluetooth,Arduino,Bluetooth,我刚开始使用HC-05蓝牙模块,遇到了一些问题 首先,我以编程模式(拔出钥匙)将HC-05蓝牙模块连接到Arduino微型电路板上,并能够通过发送AT命令(更改名称、密码等)与之通信 之后,我被拉下钥匙销,让HC-05正常工作。我能够找到并连接到它(如预期的那样,使用新的名称和密码),甚至可以双向传输数据。然而,我收到的并不是我所期望的。我正在发送一些字符并接收字节序列: 当我发送achar时,我接收字节序列120248 b->128 0 248 c->2480248 d->0128248

我刚开始使用HC-05蓝牙模块,遇到了一些问题

首先,我以编程模式(拔出钥匙)将HC-05蓝牙模块连接到Arduino微型电路板上,并能够通过发送AT命令(更改名称、密码等)与之通信

之后,我被拉下钥匙销,让HC-05正常工作。我能够找到并连接到它(如预期的那样,使用新的名称和密码),甚至可以双向传输数据。然而,我收到的并不是我所期望的。我正在发送一些字符并接收字节序列:

  • 当我发送
    a
    char时,我接收字节序列
    120248
  • b
    ->
    128 0 248
  • c
    ->
    2480248
  • d
    ->
    0128248
事实上,我尝试过几个提供蓝牙终端功能的移动应用程序(蓝牙终端、蓝牙终端HC-05、串行蓝牙终端),它们都产生不同的字节序列。上面提供的是用于
蓝牙终端的
应用程序。我显然错过了一些东西

有人能告诉我方向吗

另外,我最新版本的草图如下:

#包括
软件序列mySerial(9,8);
无效设置(){
pinMode(9,输入);
pinMode(8,输出);
Serial.begin(9600);
而(!串行);
Serial.println(“欢迎”);
mySerial.begin(38400);
}
void循环(){
if(mySerial.available()){
while(mySerial.available())
{
char c=mySerial.read();
串行打印((int)c);
连续打印(“”);
延误(5);
}
Serial.println(“”);
}
}

为了确定,您是否检查了HC-05上的波特率?这是38400。你太棒了!我成功地使用了38400进行编程,并认为正常使用时应该是相同的。但事实证明,38400用于编程,而不依赖于设置的波特率配置。就我而言是9600。我知道事情很简单。非常感谢。另外,你可以加上这个作为答案,这样我就可以接受了。很高兴这对我有帮助