esp idf protocomm

使用流程:

1、调用 protocomm_new api创建一个protocomm实例

2、调用protocomm_add_endpoint 给实例添加一个回调函数

3、调用protocomm_req_handle api给protocomm实例发送请求(实际上就是调用第二步绑定的那个回调函数)

示例:

esp32 host方案中,esp32源代码中:

protocomm_pserial_common_handler函数进行全局处理:

需要调试的时候打开ESP_LOG_BUFFER_HEXDUMP宏即可

实际上数据接受,命令处理,数据返回都是在函数data_transfer_handler中进行处理的!

        esp_hosted_config_command_dispatcher执行命令,返回命令结果

        esp_hosted_config_payload__pack (&resp, *outbuf);将命令执行结果序列化到outbuf中(outbuf也是data_transfer_handler的输出型参数)

实例:
 

	pc_pserial = protocomm_new();
	if (pc_pserial == NULL) {
		ESP_LOGE(TAG,"Failed to allocate memory for new instance of protocomm ");
		return;
	}

	if (protocomm_add_endpoint(pc_pserial, "control", data_transfer_handler, NULL) != ESP_OK) {
		ESP_LOGE(TAG, "Failed to add enpoint");
		return;
	}

ref:

Protocol Communication - ESP32-C3 - — ESP-IDF 编程指南 latest 文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值