xTaskCreatePinnedToCore()
创建的任务内。此任务仅做以下几件事:连接到AWS,订阅主题,然后进入无限循环,在其中调用
aws_iot_mqtt_yield
检查错误等。在每个循环中,我也调用:vTaskDelay(10 / portTICK_RATE_MS);
。它来自一个示例项目,延迟为1秒,然后我降低到10ms。什么是“健康”延迟?为什么我们在这里甚至需要延迟?谢谢!#1 楼
您不应该需要延迟,或者至少不需要一个会不断唤醒的延迟。如果您按照您的建议,已经启动了一个由回调触发的线程,则不需要主循环。除非该循环在每次运行时都做有用的事情,否则它只会在每次唤醒并重新输入延迟时都使用CPU时间和电能。
我将设置最大整数值的延迟,永远有效地延迟,或者只是终止该线程。
如果循环中有有用的东西,那么合理的延迟将完全取决于那个东西是什么。