This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
您好!
我使用的是 TI Launchpad 和 Azure SIMPLE Link SDK。
我创建了一个 ISR、用于将 LED 的状态发送到 Azure IOT HUB。
我正在使用 IoTHubClient_LL_DoWork (iotHubClientHandle)通过网络发送数据、但这会导致无限循环。
请给出建议。
您好!
ISR 链接到"Click of button_0"。
调用 ISR、直到它开始执行 IoTHubClient_LL_DoWork (iotHubClientHandle)、ISR 正常运行。
之后、它最终会进入 Hwi 中的无限循环。
请告诉我是否有人找到了解决此问题的方法。
您好!
您是否检查 了 IoTHubClient_LL_DoWork()在 ISR 上下文中是否可以安全调用? 由于 Azure SDK 代码来自第三方、我不熟悉它、无法判断它是否可以在 ISR 上下文中安全执行。
您是否曾尝试让 ISR 向队列发布事件、或者可能解除主线程中信号量的阻断? 从 最佳实践的角度来看,让 ISR 在线程上下文中触发某些活动,而不是直接运行 IoTHubClient_LL_DoWork()函数,会更好。 由于在 HWI 优先级上调用网络功能会产生不利影响、这是因为在执行相对较慢的网络功能时、它将优先于所有其他线程。
此致、
Michael
您好!
我认为优先级可能是问题。 我通过使用一个变量来解决它。
我使用中断来更改变量。
我在线程中使用了相同的变量来检查变量的状态。
这起作用了。
感谢你的帮助。
Rohan D'Shouza