请教:Ble-link 只能收到通知,无法写出数据。
本帖最后由 xlla 于 2014-5-30 19:17 编辑本地
OS,windows Xp
串口工具,arduino serial monitor
连接,通过 usb 将 ble-link 连接到电脑
模式,ble-link 已经设置为正常模式
远程
os, io 7.0
自己改写的测试程序,
连接 ble-link 后,
在 0xdfb0 服务下,能检索到 0xdfb1 特性,通过此特性,监听 notification 事件,可以收到从本地 arduino serial monitor 发送的信息;但通过此特性写入数据,却无法在 本地 arduino serial monitor 里收到数据,请问哪里的问题?
在 0xdfb0 服务下,能检索到 0xdfb2 特性,通过此特性,监听 notification 事件,无法收到从本地 arduino serial monitor 发送的信息;也无法通过此特性写入数据,读取数据,请问哪里的问题?
同样的代码,更换 service, 特性后,可以正常发送接收数据与另一个 品牌的,bluetooth 4.0 模块。
补充提问,
AT+BLUNODEBUG=?<CR+LF>查询蓝牙已连接状态下,BLE芯片串口接收到的数据是否通过usb串口打印出来 (默认: ON)
AT+USBDEBUG=?<CR+LF>R查询当前蓝牙数据开关的状态 (默认: OFF)
这俩名字类似的参数是设置啥的?一个管发送,一个管接受么?目前都是默认。
从机模式下,你对ble-link的dfb1写入数据,将被发送到com口,而不是usb口 那两个DEBUG是用于调试的,如果不太清楚,你都弄成ON,那么USB上就可以显示你写入的数据了。 齐天大妖孽 发表于 2014-6-5 15:28
从机模式下,你对ble-link的dfb1写入数据,将被发送到com口,而不是usb口
你好!
终于有高手来解答了。
从机模式下,相当于“无线 串口”吧,串口应该是双向端, 既然 能在手机端收到 来自电脑串口调试软件发送的信息,为何反向不能收到。
其次,为何在 dfb1 的 读操作,无法读取到数据呢?看起来 dfb1是支持 write,read,notification 的。 齐天大妖孽 发表于 2014-6-5 15:31
那两个DEBUG是用于调试的,如果不太清楚,你都弄成ON,那么USB上就可以显示你写入的数据了。 ...
好吧,我都改成 ON,再试试,谢谢你的指导。
xlla 发表于 2014-6-6 01:12
你好!
终于有高手来解答了。
从机模式,com和usb接收到的数据都会发送到蓝牙dfb1。而ble-link接收到的数据只会发送到com,默认不会发送到usb,如果你没有打开调试开关的话。所以,你会看到一个usb只能发送不能接收的假象。
第二个问题,dfb1虽然允许读操作,但是那个是内部测试用的,不对外开放。手机需要通过接收notification来获得ble-link的数据。所以,手机使用write 和 notification DFB2的问题:
DFB2是发送AT指令用的,参考wiki。比如你用dfb2发个AT\r\n试试,看是否能收到OK\r\n。 齐天大妖孽 发表于 2014-6-6 09:28
从机模式,com和usb接收到的数据都会发送到蓝牙dfb1。而ble-link接收到的数据只会发送到com,默认不会发 ...
高手点拨,豁然开朗,虽然未试,理应不假。
页:
[1]