[程序源码] 分享下自己写的nrf51822的框架

[复制链接]
fst034356 发表于 2015-8-28 15:09 | 显示全部楼层
我想问一下spi怎么用呢。。
qqww157 发表于 2015-8-28 19:15 | 显示全部楼层
楼主,请你喝啤酒,告诉我地址。
beanandpeach 发表于 2015-8-31 12:36 | 显示全部楼层
谢谢
追逐浪花 发表于 2015-8-31 20:44 | 显示全部楼层
实现的这些功能真不少啊
davidlong1019 发表于 2015-9-7 13:56 | 显示全部楼层
很不错,学习下
ppsz77 发表于 2015-9-9 14:02 | 显示全部楼层
最近看了TI的例子,直接看晕了,来看看楼主的例子怎样
STUSER 发表于 2015-10-5 20:41 | 显示全部楼层
非常不错,可以参考一下,NORDIC的IC没有用过。
FantaSy_ 发表于 2015-10-16 22:32 | 显示全部楼层
好东西!!!!
xye_yt 发表于 2015-11-2 15:09 | 显示全部楼层
好**,感谢!
yao1318 发表于 2015-11-3 08:18 | 显示全部楼层
好东西,谢谢分享!
yuanquan12345 发表于 2015-11-3 11:08 | 显示全部楼层
记号。
longnbo 发表于 2015-11-20 19:12 | 显示全部楼层
顶一个!!!!
qq53257434 发表于 2015-11-24 18:50 来自手机 | 显示全部楼层
太好了
lonfaye 发表于 2015-11-30 14:02 | 显示全部楼层
你好,lxian1988. 最近从网上下载了你的NRF51822的RTOS程序拜读了一下,受益匪浅。现有个问题想请教一下,怎么在你的rtos中添加ble的service?谢谢。
jshengw 发表于 2015-11-30 16:43 | 显示全部楼层
感谢分享啊,虽然暂时用不到
 楼主| lxian1988 发表于 2015-12-1 10:32 | 显示全部楼层
lonfaye 发表于 2015-11-30 14:02
你好,lxian1988. 最近从网上下载了你的NRF51822的RTOS程序拜读了一下,受益匪浅。现有个问题想请教一下, ...

你好,首先感谢你的关注,不过这个kit只是一个封装成消息队列的框架而已,算不上RTOS。。。
对于集成BLE的问题,我这里简要的讲下,希望能对小伙伴们有帮助。不过最终集成还是需要你们自己了解Nordic的那部分代码,最好是弄懂了官方的一个简单的例子,比如心率仪。

BLE的SoftDevice是通过软中断的方式与应用程序通信的,当BLE的程序在后台运行的时候,会产生各种事件,例如蓝牙收到数据、蓝牙断开等,这些事件发生后都会自动调用 SWI2_IRQHandler 这个中断函数(注意只是告诉应用层有事件发生,具体的是什么事件要通过其他函数读取)。当这个函数被自动调用的时候,应用层可以通过sd_evt_get 和 sd_ble_evt_get这两个函数去获取SOC和BLE的事件,并解析、处理。

我的框架中已经对这一块进行了封装,把SWI2_IRQHandler被调用与一个消息APP_MSG_SOFTDEVICE_EVENT做了对应。当该中断函数被调用的时候,会往event_loop中加入APP_MSG_SOFTDEVICE_EVENT这个消息,主线程轮询event_loop后会相应调用handleSoftDeviceEvent,在这里去调用sd_evt_get和sd_ble_evt_get,然后处理SOV和BLE的各种事件。到这一块以后其实就可以使用官方的代码了。我的建议是封装一个统一处理BLE事件的函数,例如叫 BLE_HandleEvents(ble_evt_t *event),放在整个BLE模块对外的.h文件中,然后在app.c的handleSoftDeviceEvent函数中调用。

进一步优化:
但是BLE的应用层代码仍然十分复杂。例如现在有个蓝牙断开的事件,按照上面的流程处理,最后会发现在一个嵌套了多层的子函数中才发现这是一个蓝牙断开的事件;又或者是收到了一个蓝牙数据包,最后解析出来是一个自定义的命令,那么要解析出这个结果应该比蓝牙断开还要多一层的逻辑。假如我们希望在这些事件发生的时候分别去做一些工作,直接在这些子函数中处理会对框架造成很大破坏。
解决的方法就是把这些事件继续封装成Message并在发生的时候放入event_loop中,然后对应的在app.c中添加handle函数进行统一处理。

最后祝好运 :)
chuangyuwei 发表于 2015-12-2 11:30 | 显示全部楼层
楼主NRF51822这颗芯片可以找我买,深圳创宇微林小娜,QQ:2763909690
jimaoxin 发表于 2015-12-4 08:36 | 显示全部楼层
强大!支持!感谢!
wangjakn 发表于 2015-12-4 16:51 | 显示全部楼层
楼主这种精神我无话可说,只能大大的点赞。。
wuqingfan 发表于 2015-12-14 19:18 | 显示全部楼层
XIEXIE
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部