8612| 3
|
[已解决] 关于Bluno蓝牙数据走向解析续 |
本帖最后由 mickey 于 2014-12-10 11:49 编辑 如图所示(图中是两个bluno模块在默认设置下连接过后的数据走向),master、slave分别代表bluno的主机和从机,而图中左右两边的USB框和uart框分别代表master和slave的usb和uart,主从之间通过无线BLE传输数据,框与框之间的箭头方向表示相应的数据流通方向。 注:um表示数据源是从master的USB端发送的,即蓝牙芯片的USB接收到的数据,在实际应用中一般为pc端通过串口调试助手发送给蓝牙的数据 us表示数据源是从slave的USB端发送的,即蓝牙芯片的USB接收到的数据,在实际应用中一般为pc端通过串口调试助手发送给蓝牙的数据 tm表示数据源是从master的uart端发送的,即蓝牙芯片的uart接收到的数据, 在实际应用中一般为外部mcu或uno的串口发送给蓝牙的数据 ts表示数据源是从slave的uart端发送的,即蓝牙芯片的uart接收到的数据, 在实际应用中一般为外部mcu或uno的串口发送给蓝牙的数据 工作工程简述: 1、无线透传:当主从机建立连接过后,就可以透传了,即单纯的数据无线透传,这时master的USB串口没有被pc端打开(即没有用串口助手打开master的USB断口),slave的数据TS会通过BLE被master所接收,然后传给master的uart(即外部mcu或者uno的uart接收端),而master的数据TM通过BLE被slave所接收,然后传给slave的uart(即外部mcu或者uno的uart接收端),这个值得注意的是,master的TM是直接传给slave的uart的,它不受slave的USB断口是否被打开的限制,这和slave的TS传给master的uart不同。 2、无线下载:先说下无线下载的过程,无线下载是pc端打开master的USB,pc端通过master的USB将数据传给slave,然后slave直接传给slave的uart进行下载的工程。 那么这里和前面1的不同是,下载的时候master的USB被打开,其他的不变。前面说过,master的USB被打开与否直接影响slave的TS数据的走向,这里TS走的是master的USB端,然后传给PC端,而没有将TS传给master的uart。而这时master的uart数据TM仍然可以通过BLE传给slave的uart,因此,我们在进行无线下载的时候,必须保证master端的uno的uart没有串口数据发送(或者直接先给master的uno下一个blink程序),否下载出错!!! 3、串口调试:很多小盆友说打开两个串口助手,slave的USB 发送数据,master的USB串口调试助手能够收到,但是master的USB发送数据,slave的USB串口助手却接受不到。(*^__^*) 嘻嘻,这里就涉及到数据走向的问题老。。。。。。。。。如图所示,master的USB端的数据UM通过BLE发送给slave,这时,slave却没有发送到slave的USB端,而是将数据传给了slave的uart,所以当你用master的USB端的串口调试助手发送数据的时候,slave的USB端串口调试助手却没有接受到数据,而slave模块的TX灯却在闪烁。而slave的USB端串口助手发送数据US,通过BLE 后,master是将数据传给了master的USB端,这时串口助手会接收到数据,而没有将数据传递给master的uart。呵呵,这些明白了吧,有些童鞋说用串口助手调试的时候回事单向的传输。(当然了,如果想让两个USB口都可以显示,只需要一条指令的啦,”AT+USBDEBUG=ON“,你可以用”AT+USBDEBUG=?“指令进行测试,回应的绝对是”OFF“,呵呵,懂了么?一般人儿我不告诉他!!!!!!!!) |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed