Hello_ble例程无法控制led开关-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2507|回复: 1

[已解答] Hello_ble例程无法控制led开关

[复制链接]
发表于 2019-6-26 13:28 | 显示全部楼层 |阅读模式
本帖最后由 tedczj 于 2019-6-26 13:28 编辑

基本信息
  • [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上点按钮没反应,同时串口监视器上没有对应的日志打印
       1274474962.jpg

       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信息
p1.PNG

捣鼓了很久都搞不定,请各位大神赐教啊

发表于 2019-7-1 09:42 | 显示全部楼层
1.模块和arduino是否共地?
2.把连接的线换了试试
3.测试下模块波特率是否为9600
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 03:44 , Processed in 0.074648 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表