10479| 16
|
[常见问题] 关于BLUNO和BLE-LINK数据走向的问题 |
本帖最后由 Grey 于 2014-4-10 17:45 编辑 楼主小学语文是体育老师教的,不懂,请轻喷! 看过BLUNO的wiki童鞋同会发现这两个AT命令,相信小伙伴们一定有诸多疑惑 12. "AT+BLUNODEBUG" 控制蓝牙已连接状态下,BLE芯片串口接收到的数据是否通过usb串口打印出来。这样就可以通过Arduino的串口监视器得到BLUNO发送的串口数据(BLE firmware 1.6 新功能)
13. "AT+USBDEBUG" 控制蓝牙数据是否通过USB口打印出来 (BLE firmware 1.6 新功能)
如果使用BLE-LINK,当BLE-LINK插在Arduino 板上时,那就很容易理解,当蓝牙收到数据时,总会第一时间传给串口(也就是单片机),然后就可以通过usb查看单片机收到的数据了。也就是说,其实BLE-LINK这样的xbee结构的,或者是apc220 这样的直接连串口的通信模块所接收到的数据是隐形的,是看不见的,是要通过单片机转换后才能从usb口督导数据。这点大家估计能理解。 BLE-LINK直接插在microUSB 应该不会有啥问题,所以不做讨论。 重头戏来了,BLUNO! BLUNO 的芯片CC2540可是同时连接USB和单片机的啊,也就是说你收到的数据会同时有两个数据方向,串口?还是USB? 这是变成了一个问题! 你总要收数据吧,你收到的数据总要显示吧,然后你收到数据有时还要处理吧,处理之后又要显示吧,这就又是一个问题! 好吧,其实还是一个问题:选择,人的一生就是在不停的选择,每一个你所做的决定又会对你的未来产生一定的影响。世间的事情没有绝对的对或错,你只需要做的只不过是你内心的真实想法。情感需要表达,思想也需要迸发,当自己前面所遇到的无论是荆棘或是坦途,你都只需要作出选择而已。走上荆棘的人,人生不一定就总是错,穿过坦途的人,也不见得人生就完美。年轻人要有自己的思想,不要在乎别人对你的指指点点,他人议论的事事非非,做自己就好。 Uhm......思绪有点飘远了,说到哪来着,对,选择! 你怎么去选择你将来的路?我呸,呸,呸。。。 关于数据流的走向,从上面两条AT命令 就知道应该是关于两条路的选择,USBDEBUG就应该是USB方向的了,BLUNODEBUG就应该是BLUNO串口方向的了, 应该是这样的了,对嘛?对嘛? |
在蓝牙连接状态下,2540的com口收到数据直接发到蓝牙了,不发送到USB口。而蓝牙接收到的数据直接发送到了com口,也不发送到USB口了,这就产生了无法检视数据的问题。 打开 BLUNODEBUG cc2540的com接收到的数据,com口接收到的数据除了发送到蓝牙外,还会发送一份到USB,达到监控的目的。 打开 USBDEBUG cc2540的蓝牙接收到的数据(DFB1),除了发送到com口外,还会发送一份到USB口。同样是为了监控。 其实这两个开关就是蓝牙数据来回传输的时候,是否通过USB监控一下。那么做成一个开关不就好了吗?为什么要做成两个呢? 因为如果做成一个开关,那么USB会接收到很多数据,不方便调试,所以做成了两个。 如果程序已经稳定了,不需要监控了,可以将这两个DEBUG都关掉。 在蓝牙未连接状态下,com和usb就是个透传,所以也就不存在数据流向问题了。 我感觉我的语文老师的语文老师一定是个体育专业毕业的。难道我只能写spec吗:dizzy:我怎么就写不出LZ一样高大上的句子 |
小弟新手。。 请问 arduino的usb 串口和bluno的那几个部分连接呢 ? 是atmel 和 cc2540芯片都连到这个穿口上了吗? 还有这个数据流向问题不是很明白 首先我在 bluno 的master上开了 usbdebug 关了 blunodebug , slave的设置和master 一样 然后打开串口moniter往master的串口写数据 master的moniter窗口没有显示输入的数据,slave的moniter窗口显示这些数据 ,证明slave收到了 但奇怪的是我通过slave的moniter 窗口写数据,不仅master的mointer有显示(证明收到了),而且slave自己的moniter 也显示刚写的数据 为什么我主从的设置都一样(开了 usbdebug 关了 blunodebug)还会有上述现象呢 ??? 如何用bluno的数据流向来解释?? 麻烦能解释我在mointer窗口写入串口数据之后数据一路怎么走吗? (之前没用过usb和串口连一起的。。求指教) |
第一个问题看一下原理图就好了 usb是直接连到CC2540的,usb用的是差分线,它不会和atmega328直接去连,需要一个中间人在中间处理数据,在普通的UNO上,这个角色是有FTDI,或者Atmeg16u2担任的,但这边就是由CC2540来作为中间人。通过CC2540连接到了atmega328p。 第二个问题我没有注意过,两块板子内部有程序吗? 如果没程序的话,我猜主机会把收到的信息全部广播一遍,但由于现在只有一块从机,所以当你通过从机发数据给主机的时候,主机把收到的数据广播了一遍,这样就又返回给了从机。 所以只有只有从机到主机,有返回的效果。以上仅是猜测,期待大神解释 |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed