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.

[参考译文] CC3220SF-LAUNCHXL:CC3220SF 读取 GPIO 引脚值

Guru**** 2587345 points
Other Parts Discussed in Thread: CC3220SF

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/847297/cc3220sf-launchxl-cc3220sf-reading-gpio-pin-value

器件型号:CC3220SF-LAUNCHXL
主题中讨论的其他器件:CC3220SF

您好!

我正在使用 CC3220SF 板和 IR 传感器。 我已经通过 GPIO 引脚将传感器连接到电路板、我正在尝试读取传感器输出的值。 传感器的 LED 将会亮起或熄灭、具体取决于其方向上的任何障碍物、我希望看到该输出。 我已经浏览过 GPIO 功能、我认为使用的最佳功能是 GPIO_READ。  

如果我做得对、请告诉我!

谢谢

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

    请查看 GPIO API :http://dev.ti.com/tirex/content/simplelink_cc32xx_sdk_3_30_00_04/docs/tidrivers/doxygen/html/_g_p_i_o_8h.html 和  

    但是:如果您使用的是具有逻辑'1'/'0'输出的 IR 传感器、那么使用中断来警告 MCU 发生了事件是否更好。 请参阅 http://dev.ti.com/tirex/explore/node?node=AETkzQjy1ybfsOe8hghlYw__fc2e6sr__LATEST)  

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

    谢谢! 我会尝试一下、  

    我的同事还告诉我使用中断、所以我也会这样做。 还有一个简单的问题、我一直在打印输出到 UART 以进行调试。 是否有更简单的方法来实现此目的?

    再次感谢您的帮助!

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

    通常、出于调试目的在 UART 上打印并不是这些器件的理想选择。

    将调试信息写入 UART 的过程需要一些时间、这可能会影响时序(阻止)其他任务。 我倾向于尽可能使用 Dios 和逻辑分析仪。  

    您还可以在 SDK 文档中搜索调试。  

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

    在中断示例中、它们具有一个中断功能、当按下按钮时、该功能会点亮 LED。 对于我的实现方案、我想打开 LED 并向 UART 输出文本。  

    它们具有:  

    /*
    === gpioButtonFxn0 ===
    * CONFIG_GPIO_button_0上 GPIO 中断的回调函数。
    */
    void gpioButtonFxn0 (uint_least8_t index)
    {
    /*清除 GPIO 中断并切换 LED */
    GPIO_TOGGLE (CONFIG_GPIO_LED_0);
    } 

    我是否会读取 GPIO 而不是我的中断、因为我希望在调用中断后读取数据? 我对如何为传感器使用中断感到困惑。  


    此外、我希望持续读取 GPIO 值并输出到 UART。 如所示、只要前面有东西、LED 就会关闭或打开。 现在、当我运行代码一次时、它就会起作用、如果我想要另一个值(障碍物或障碍物)、我必须重置电路板。 我只是想知道我如何能够持续地做到这一点。

    谢谢!  

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

    这是一个具有二进制输出的红外传感器、对吧? 然后、如果您收到中断、则您知道输出为"1"、但可以使用 GPIO_READ 进行确认。 如果您在两个边沿上都有中断、则应执行读取操作以确保您已成功跟踪边沿。  

    -您应该在回调中布置一个信标、并且在信标上有一个单独的"打印到 UART"任务等待。 回调是中断处理、您不希望在这方面花费太长的时间、以防您收到新的中断。  

    您应该在某处有一段时间(1)、以确保您能继续执行任务。 请参阅我们的示例。