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.

[参考译文] 如何在TIMAC和ZStack软件包中更改为仅IO端口唤醒而不是计时器唤醒

Guru**** 2540720 points
Other Parts Discussed in Thread: CC2538

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/582005/how-to-change-to-just-io-port-wakeup-and-not-timer-wakeup-in-timac-ans-zstack-package

主题:CC2538中讨论的其他部件

尊敬的支持人员:

现在我有一个问题,我们有一个电压检测硬件,如果落在CC2538引脚的一个引脚上,这是可以的,我们可以跟踪当前的唤醒100毫秒并每秒发送一条消息。

我的问题是,如果针的波浪上升,它应该保持深眠,而不是在下一波下降到针的波浪前挥手。

你有什么建议可以帮助我解决这个问题,就是如何在降波之前保持深眠模式?

谢谢

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

    请参阅此帖子以了解它是否有帮助:

    e2e.ti.com/.../130.9009万
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的Jason:
    我根据指令修改了BSP lib文件,以应对上升和下降中断。我修改了
    功能interrupT_keybd()来检查引脚是处于上升还是下降中断状态。问题是我何时使用IAR和JLink来让
    固件进入调试模式,逻辑上升和下降正常,但如果我删除JLink,逻辑错误,代码不能进入上升中断。
    请帮助我检查是否有任何问题?
    巴西,
    /**************************************************************************************************
    *@fn. InterrupT_KEYBD
    *
    *@键盘的短暂中断服务例程
    *
    *@参数无
    *
    *@返回无
    ***************** /
    void interrupT_keybd(void)/*应更改BSP源代码中的代码并编译BSP.lib*/

    /*清除电源中断寄存器*/
    SysCtrlPowIntClear();

    #IF 1.
    uINT32_t端口值;
    uINT8 cnt_port=0U;
    对于(uint8 index=0;index<10U;index++)

    port_value=GPIOPinRead (BSP_KEY_DIR_BASE,BSP_KEY_UP );

    IF (PORT_VALUE =0x0.0001万U)/*UP密钥,GPIO PC0 VBAT_OK*/

    //setting_index=1U;
    cnt_port++;
    }
    否则

    //setting_index=0U;
    //cnt_port=0U;
    }
    }

    IF (cnt_port>=6)

    setting_index=1U;
    }
    否则

    setting_index=0U;
    }
    cnt_port=0U;
    #endif

    #IF (HAL_KEY == TRUE)
    /*在密钥消失前读取*/
    halIntKeys = hal_key_int_keys();

    IF (halIntKeys &&(Phal_KeyProcessFunction))

    (Phal_KeyProcessFunction)(halIntKeys,HAL_KEY_STATE正常);
    }
    #endif /* HAL_KEY */

    clean_sleep_mode();


    }