3719|3

1560

帖子

24

TA的资源

五彩晶圆(初级)

楼主
 

【TI首届低功耗设计大赛】CC2540 USB Dongle与PC通信 [复制链接]

本帖最后由 lonerzf 于 2015-1-3 10:13 编辑

最近工作比较多,身体也不是很好,所以好久好久没发帖了。今儿个补上。这篇应该是第二部分,MSP430FR5969蓝牙通信部分的实现。
第一部分的结果演示部分因为没法debug一直拖着,为什么我的MSP430FR5969怎么总是时不时地提示无法调试呢,哎,感觉这板子没以前的Lanuchpad板子稳定。


有些应用场合中可能需要同时用到CC2540的USB和蓝牙功能。但TI现有的例程并没有直接针对这样应用的DEMO, 为BLE加个USB转串口模块似乎又比较土,占地方呢。前段时间收集资料,分析源代码,大致了解了应该如何操作,给大家分享一下。
首先,CC2540这款蓝牙芯片带有串口,TI也给了BTool的驱动和HostTestApp的源码,只需要对源码进行适当修改,理论上就能实现蓝牙——USB的相互转换。
CC2540 usb dongle例程在如下目录中


打开工程后找到main函数,依次进入:


然后定位到硬件初始化函数HalDriverInit();






看到了吧,其实就是对CC2540来说,还是用了虚拟串口进行通信的。那就好办了啊,弄个函数做串口操作就行了。


再看下面

这个usbCB就是回调函数指针。
OSAL不是重点,这里就略过吧。接下来就好办了。在事件循环中(HCI_EXT_App_ProcessEvent)添加一个自定义事件,等待初始化完成后进入该事件。我这里等待了3秒钟。


当然了,还得保存系统默认的回调函数地址对吧,到了这一层往下我就没法看到回调函数做了什么了。这时候有些命令你不想处理怎么办?总不能丢弃吧。还是交还给系统默认的处理函数处理比较好。


NPI_InitTransport(USB_CDC_SerialCb);   //把串口虚拟化函数放这里,应该放到设备初始化完成之后再加入。

这个 USB_CDC_SerialCb就是我们自定义的串口回调函数啦。


我们的回调函数实现。注意,如果有的命令无法处理,或者不想处理,还是交给系统默认的回调函数处理比较好。



几个关键点就到此结束了。按照正常的流程初始化CC2540USB Dongle并绑定从机设备后,连接MSP430FR5969的蓝牙模块和USB Dongle就能通信了。当然这里并不对蓝牙收发展开描述,网上这块的资源还是比较多的。
至于如何初始化,如何发送数据,那个BTOOL里边有串口数据的。可以参照里边的实现格式操作。


这个就是体力活,需要一个一个分析。放心,这已经是捷径了。

其实这部分也不难,关键在于熟悉整个BLE OSAL,了解它的程序流程。只要了熟悉了BLE协议栈和应用部分的流程,剩下的就是花点时间实现罢了,对吧,呵呵。
工程源码见附件。
HostTestApp_CDC_B.rar (952.54 KB, 下载次数: 27)
好了,这个部分就到这里先。

最新回复

加油了,希望能抽出时间最后还来一个整理贴。活动截止时间1月5日!  详情 回复 发表于 2015-1-4 09:11
 
点赞 关注(1)
个人签名这孩子,成熟的象征,理智的典范。

回复
举报

102

帖子

1

TA的资源

一粒金砂(中级)

沙发
 
路过,学习一下                                                                          
 
 

回复

3416

帖子

0

TA的资源

纯净的硅(高级)

板凳
 
楼主工具齐全呀,上pp
 
个人签名

So TM what......?

 

 

回复

6066

帖子

92

TA的资源

裸片初长成(初级)

4
 
加油了,希望能抽出时间最后还来一个整理贴。活动截止时间1月5日!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表