热度 4||
1、应用程序由许多task组成,每个task就是一个消息轮询函数。其中一个优先级最高的application task ,控制整个应用程序消息。(个人觉得整个消息机制应该类似ucos,待后续验证)。
2、消息机制。task与task之间通过message发送消息。基本结构Task t, MessageId id, Message payload(任务号、消息 ID、消息内容)。
message ID num的取值:
1、Messages send by a task to itself start at 0x00.
2、 System messages start at 0x8000.
3、Messages sent by specific profile libraries to tasks have been assigned base values e.g. the connection
library messages start at base 0x7000 and the SPP library messages start at 0x6f00. See Appendix B.
3、软件开发架构
第一层:The Application Task (用户应用层)
第二层:Profile and Support Tasks (协议和支持库)
用以下方式初始化一个蓝牙协议task.
注意:在添加蓝牙协议前connect library必须第一个初始化
第三层 Firmware(固件层)
用户应用程序与蓝牙底层通过connection task 接口通信。用户只需handler message from connection task 就OK了。
4、task初始化示例,以SPP为例
1、 定义一个状态结构体
2、声明task常量
3、初始化task hanlder
4、初始化task