微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > cc2640 进入shutdown 模式后 用按键不能唤醒

cc2640 进入shutdown 模式后 用按键不能唤醒

时间:10-02 整理:3721RD 点击:

如题,我关闭了设备的广播和定时器,之后进入shutdown模式,测得的电流的确很小,但是之后用按键唤醒的方式却不能唤醒mcu,哪位大神知道怎么弄不?

PS:选用的工程是keyfob

建议在线调试下 在按键的中断程序处设置断点看能否进入并执行。 另外能否请您贴出唤醒的程序?

一步一步排查了。首先看有没有中断产生,产生的中断对应的引脚对不对

 还要有专门的唤醒程序?不是只要给出中断信号就信了吗?   刚接触,很多地方不懂,请大神耐心的给我说说吧,或者有什么参考的也行,谢谢。

你好!

我用如下方式设置IO唤醒,并进入shutdown模式,为什么唤醒不了?是需要进行其他的设置么?

IOCIOShutdownSet(IOID_4, IOC_WAKE_ON_HIGH);
Power_shutdown(NULL);

可以唤醒的。

按键的配置可以参考协议栈自带的board_key.c文件里的  void Board_initKeys(keysPressedCB_t appKeyCB);  函数,它都已经帮你写好了的,只是要注意,假如你是在测电流,请把电流档打到mA档后再执行按键唤醒操作,因为在唤醒的过程中电流会增大,如果万用表处于uA档位的时候,它是会限制流过的电流从而导致看起来不能唤醒2640.

void Board_initKeys(keysPressedCB_t appKeyCB)
{
// Initialize KEY pins. Enable int after callback registered
hKeyPins = PIN_open(&keyPins, keyPinsCfg);


PIN_registerIntCb(hKeyPins, Board_keyCallback);

PIN_setConfig(hKeyPins, PIN_BM_IRQ, Board_S1 | PIN_IRQ_NEGEDGE);
PIN_setConfig(hKeyPins, PIN_BM_IRQ, Board_S2 | PIN_IRQ_NEGEDGE);
PIN_setConfig(hKeyPins, PIN_BM_IRQ, Board_S3 | PIN_IRQ_NEGEDGE);

#ifdef POWER_SAVING //Enable wakeup

PIN_setConfig(hKeyPins, PINCC26XX_BM_WAKEUP, Board_S1 | PINCC26XX_WAKEUP_NEGEDGE);
PIN_setConfig(hKeyPins, PINCC26XX_BM_WAKEUP, Board_S2 | PINCC26XX_WAKEUP_NEGEDGE);
PIN_setConfig(hKeyPins, PINCC26XX_BM_WAKEUP, Board_S3 | PINCC26XX_WAKEUP_NEGEDGE);
#endif

// Setup keycallback for keys
Util_constructClock(&keyChangeClock, Board_keyChangeHandler,KEY_DEBOUNCE_TIMEOUT, 0, false, 0);

// Set the application callback
appKeyChangeHandler = appKeyCB;
}

hi ,可以帮我解决下发送数据的问题吗?http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/104864.aspx

在debug设置中断断点发现进不去中断,是怎样才能确认是否从POWERSHUTDOWN唤醒?

没调用power_shutdown 之前,按键每次都能进入中断的,

配置与上面的code差不多,都打开了中断(按键中断和唤醒中断),确认有配置

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top