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.

[参考译文] CC3220MODA:通过两个线程在同一引脚上同时读取 GPIO

Guru**** 2560390 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/926096/cc3220moda-concurrent-gpio-read-on-same-pin-by-two-threads

器件型号:CC3220MODA

团队、

我们需要在应用中的两个不同线程中读取同一 GPIO 引脚、这两个线程在循环中连续读取、但速度不同。 第一个线程将每20微秒调用一次 GPIO_Read、第二个线程将每1000微秒在同一引脚上读取一次 GPIO_Read。 我们在将它们组合成单个读取逻辑方面存在一些挑战、并且我们在测试过程中没有遇到任何问题。 但是、如果我们这样做、我们想了解任何缺点吗? 当两个线程同时进行少量读取时、可能会发生什么情况?如果是、结果是什么?

感谢支持。

此致、

Zac

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Zac、

    我不会期望该 API 发生冲突、但我认为这尚未经过测试。 我可以查看它。

    我建议使用看门狗或其他一些恢复机制作为备份。

    此致、

    Sarah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Sarah、

    请根据您的测试结果告诉我。 我们将使用看门狗进行恢复。

    此致、

    Zac

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Zac、

    更确切地说、我们没有针对该事件的测试设置。 我确实验证了驱动程序中的所有变量都位于它们各自的任务堆栈上、因此它们不应相互影响、寄存器读取也不会更改任何信息。 如果您在测试中没有发现任何问题、并且您启用了看门狗、这似乎是一种合理的方法。

    此致、

    Sarah