BLE CC2540之协议栈

本博客在没有特殊声明下都是:

TI协议栈栈版本 BLE-CC254x-1.3.2

蓝牙协议版本 4.0


一、BLE协议栈

PHY层:1Mbps自适应跳频GFSK(高斯频移键控),运行在免证的2.4GHz。
LL层为RF控制器(射频),控制设备处于准备(standby)、广播、监听/扫描(scan)、初始化、连接,这五种状态中任一种。
HCI层:为接口层,向上为主机提供软件应用程序接口(API),对外为外部硬件控制接口,可以通过串口、SPI、USB来实现设备控制。
L2CAP层:提供数据封装服务(也负责处理连接参数请求)
SM层(加密);提供配对和密匙分发,实现安全连接和数据交换
ATT层:负责数据检索
GATT层:出纳负责处理向上与应用打交道,而GATT负责向下把检索任务子进程交给ATT层去做,其关键工作是把为检索工作提供合适的profile结构,而profile由检索关键词(characteristics)组成。

GAP层:向上提供应用程序接口,向下管理各层的相应的功能,尤其是指示LL层的五种状态切换,指导SM层做好加密工作。


二、协议栈主要函数

    1.定时器

        2.1.1启动定时器, 仅一次
            uint8 osal_start_timerEx( uint8 taskID, uint16 event_id,uint32 timeout_value )
       2.1.2 启动定时器, 自动重装
            uint8 osal_start_reload_timer( uint8 taskID, uint16 event_id,uint32 timeout_value )
        2.1.3停止定时器
            uint8 osal_stop_timerEx( uint8 task_id, uint16 event_id )

扫描二维码关注公众号,回复: 1588929 查看本文章

       2.1.4 返回系统时钟 (一般用于对比现在与历史的时间) 

        uint32osal_GetSystemClock( void ) 

    2.低功耗

        2.2.1 进入低功耗

            osal_pwrmgr_device( PWRMGR_BATTERY );

        2.2.2 退出低功耗

            osal_pwrmgr_device( PWRMGR_ALWAYS_ON );

猜你喜欢

转载自blog.csdn.net/qq_37565330/article/details/79460195