因为种种原因,使用RSL10无线传输锂电池组数据的项目还未能完成,所以,这份测评报告还有后续,希望能有机会完成,敬请期待。
我的项目是通过RSL10完成锂电池组和手机(PC)的数据交互。电路原理很简单,通过RSL10的MCU的IIC模块与前端采集芯片SH367309进行通讯,将电池组的数据通过蓝牙传输至手机或PC,同时接收主机发出的指令,对电池组进行控制。
RSL10 DEMO板给我的第一印象是简洁,没什么多余的令人望而生畏的复杂电路。当然,这和那颗最大的ATMEL的芯片藏在背面有很大关系。ONSEMI的IDE环境建立令人吃惊。说实话,我对熟悉学习一个新的IDE一直抱有一种畏难的心理,但是这个IDE的环境建立是如此顺滑,以至于在我还正在酝酿准备鼓起勇气迎接将要到来的疑难时IDE已经建立完成,而例程的导入非常顺利,COPY下载的功能非常贴心。
例程是非常的丰富,广播、中心设备、外围设备、客户端、服务端、特征值通知读写还有包括MCU的外设驱动和使用。从使用的角度来讲,将相关例程的功能搞清楚,将其中函数重新组织一下,我的项目程序框架也就大致完成了。当然调试还会遇到具体问题。但是我很想借着这个机会深入了解一下蓝牙的技术原理、连接的细节、协议栈如何工作,所以不免花了很多时间在网络里寻找、甄选、消化有关蓝牙的资料。
在程序的阅读中,我发现,对回调函数的理解,包括对回调函数使用场景的理解是理解分析蓝牙工作过程的一个关键。如果习惯了面向过程开发,理解回调函数可能有些迟缓别扭。但是你一旦理解了什么情况下需要回调函数也就是为什么需要回调函数,那最后一丝迷雾就会突然消失,一切豁然开朗。EVENT是理解的关键词。在事件处理中,很难找到一个预定不变的时间顺序来组织程序,回调函数就是用来处理EVENT的,从这个角度看,回调函数就是event handle。回调函数就是一个函数,它是软件设计上的一种概念。
以上就是目前我的一点心得,希望后续还有交流机会。
图片是电池保护板和RSL10。