基本信息- [x] 这个问题满足提问指南
- [x] 我阅读了开发文档
- [x] 我使用了最新的库及APP进行测试,但是问题仍然存在
- [x] 我搜索过类似问题的解决方法但是仍然无法解决
- [x] 有设备端的LOG信息
- [] 有编译报错信息
- [x] 我已填写基本信息
设备信息- 硬件: [Arduino Mega 2560 REV3][openjumpber ble4.0]
- 接入方式: [BLE]
- package版本:不知怎么看
- blinker库版本: 前天刚从github上下载的
- 开发环境: [Arduino]
- 操作系统: [Windows 8]
IDE 中的设置- Module: 不知怎么看
- Flash Mode: 不知怎么看
- Flash Size: 不知怎么看
- lwip Variant: 不知怎么看
- Reset Method: 不知怎么看
- Flash Frequency: 不知怎么看
- CPU Frequency: 不知怎么看
- Upload Using: 不确定
- Upload Speed: 不知怎么看
问题描述mega 2560 r3板子和ble4.0模块都是openjumber买的, ble4.0收到后没有工具能够查看或者修改参数,全是默认配置,看文档波特率应该是9600 手机版本是iphone 7(12.0) / iphone 8(12.1),blinker app是昨天新下的 blink库是前两天刚从github上下的, 代码只在初始化那里稍微改了一下,有参考这个https://www.arduino.cn/thread-85020-1-4.html里面修改了串口, 现在蓝牙模块tx接的18,rx接的19, 杜邦线是新拆的而且公母两头都用力插紧了的,编译上传都能够成功,blink里可以连接到蓝牙模块(连接后蓝牙模块上闪烁的黄灯变为常亮),串口日志里会正常显示到“SerialBLE initialized...” 现在的问题有两个: 1.连接以后在app上点按钮没反应,同时串口监视器上没有对应的日志打印
2.如果此时用点力拿着杜邦线端子往蓝牙模块排线上按一下,就会开始如图中不停打印日志而且接收的数据有部分是乱码,同时手机端界面无变化,重现概率很高,大概有50%吧,乱码的问题我试了修改Serial.begin(9600)/Serial.begin(115200)都没有用,而且一旦开始打印以后就不会停,哪怕退了blinker关了手机蓝牙也一样 代码[mw_shl_code=arduino,true]#define BLINKER_PRINT Serial
#define BLINKER_BLE
#include <Blinker.h>
BlinkerButton Button1("btn-abc");
BlinkerNumber Number1("num-abc");
int counter = 0;
void button1_callback(const String & state)
{
BLINKER_LOG("get button state: ", state);
digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));
}
void dataRead(const String & data)
{
BLINKER_LOG("Blinker readString: ", data);
counter++;
Number1.print(counter);
}
void setup()
{
Serial.begin(9600);
BLINKER_DEBUG.stream(Serial);
// BLINKER_DEBUG.debugAll();
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, HIGH);
Blinker.begin(19,18,9600);
Blinker.attachData(dataRead);
Button1.attach(button1_callback);
}
void loop()
{
Blinker.run();
}[/mw_shl_code] LOG信息
捣鼓了很久都搞不定,请各位大神赐教啊 |