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.

[参考译文] CC2538:如何将引脚设置为唤醒引脚并在唤醒时设置中断服务例程。

Guru**** 2534140 points
Other Parts Discussed in Thread: Z-STACK

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/971155/cc2538-how-to-set-up-a-pin-as-a-wake-up-pin-and-set-an-interrupt-service-routine-when-waking-up

器件型号:CC2538
Thread 中讨论的其他器件:Z-stack

您好!

我正在处理一个项目、在该项目中、当我从引脚获取中断时、需要唤醒 MCU、然后从其他 MCU 执行 I2C 读取。  到目前为止、它的工作方式是、我将需要读取的内容通知另一个处理器、在准备就绪时、它会下拉一个引脚、然后我为该中断提供服务。 到目前为止、对于睡眠定时器、当我等待响应时、我使用 while 循环保持芯片唤醒、以便为中断提供服务。 不过、我希望从引脚中断中唤醒并在其 ISR 中执行我的读取操作、但到目前为止、我无法将其设置为中断引脚和 WAKE 引脚。 我尝试将其设置为唤醒引脚、然后将 ISR 添加到该引脚、但它不起作用。 我正在使用 ZStack 1.2.2a HomeAutomation。

感谢你能抽出时间  

Nomikos Panagiotis   

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

    Nomikos、您好!

    Z-Stack HA 1.2.2a 应用示例能够使用引脚中断、但此特性在默认情况下被禁用。  请参阅 board.c 中的 InitBoard 并将  HalKeyConfig (false、NULL)更改为  HalKeyConfig (true、NULL);以及  OnboardKeyIntEnable = HAL_key_interrupt_disable;更改为  OnboardKeyIntEnable = HAL_key_interrupt_enable;以进行启动。  hal_key.c/h 和 hal_board_cfg.h 中提供了其他关键配置、您可以参考这些配置来创建自己的引脚实例。  您应该进一步调试项目行为和寄存器、以确定问题的根本原因并在出现问题时解决问题。

    此致、
    Ryan