完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我正在使用 RTOS SDK 附带的示例之一:(examples/protocols/mqtt/tcp) 并且我添加了串行端口,因为我想发送要发布到 MQTT 代理的数据。所以在我的 UART 队列中,我调用
代码:全选esp_mqtt_client_publish() 但我没有客户端句柄,它只在回调中设置。我尝试使用客户端句柄的全局副本,但它没有用,除了是个坏主意: 代码:全选esp_mqtt_client_handle_t gclient = NULL; static esp_err_t mqtt_event_handler_cb(esp_mqtt_event_handle_t event) { esp_mqtt_client_handle_t client = event->client; gclient = client; int msg_id; // your_context_t *context = event->context; switch (event->event_id) { case MQTT_EVENT_CONNECTED: ESP_LOGI(TAG, \"MQTT_EVENT_CONNECTED\"); msg_id = esp_mqtt_client_subscribe(client, \"debug/test1\", 0); ESP_LOGI(TAG, \"sent subscribe successful, msg_id=%d\", msg_id); msg_id = esp_mqtt_client_subscribe(client, \"debug/test2\", 1); ESP_LOGI(TAG, \"sent subscribe successful, msg_id=%d\", msg_id); /* msg_id = esp_mqtt_client_publish(client, \"/topic/qos1\", \"data_3\", 0, 1, 0); ESP_LOGI(TAG, \"sent publish successful, msg_id=%d\", msg_id); 有没有什么优雅的方法可以让客户端在回调之外处理?或者另一种方法是创建自定义事件并将该消息发送到回调? |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1138 浏览 1 评论
576浏览 6评论
477浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
461浏览 5评论
462浏览 4评论
435浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 11:25 , Processed in 0.801808 second(s), Total 75, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号