esp idf protocomm

esp idf protocomm,第1张

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

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

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

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 文档

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/926598.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存