esp32例子初始化流程

esp32之freertos

    既然用了操作系统,那很明显就是多线程(多任务)啦,而BLE来说,最少需要两个线程
controller层与host层两个线程处理,所以在主线程中会把这两个给初始化了。
    由于没有找到源码细节,所以这是我猜的,根据nrf52832开源的协议栈nimble猜的,
他就是这种方式处理的。

流程

app_main()中的初始化

依次初始化 外设、controller层 host层,然后设置。

void app_main(void)
{   //外设
    ESP_ERROR_CHECK(nvs_flash_init());
    ESP_ERROR_CHECK(esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT));
    esp_bt_controller_config_t bt_cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT();
    
    
    //controller层
    esp_bt_controller_init(&bt_cfg);
    esp_bt_controller_enable(ESP_BT_MODE_BLE);
	
	
	//host层
    esp_eddystone_init();
	
    
    //设置BLE
    /*<! set scan parameters */
    esp_ble_gap_set_scan_params(&ble_scan_params);
}

host层初始化函数
	void esp_eddystone_init(void)
{	//bluedroid初始化
    esp_bluedroid_init();
    //bluedroid使能
    esp_bluedroid_enable();
    //注册回调函数
    esp_eddystone_appRegister();
}

main线程自删除

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值