你好,
我在EXT睡眠模式下使用DA14580模型,我想用定时器唤醒它,但失败了。它总是在睡觉,请问怎么配置它?
嗨GGQ_in,
您应该使用app_easy_timer() API来唤醒设备。一旦设备进入睡眠模式,就应该配置计时器。当它到期时,您应该将您喜欢的功能放在回调函数中。这可以通过设置计时器来实现,如下所示:
cb_my_timeout app_easy_timer (100);
第一个参数指定在100 * 10ms = 1000ms = 1s之后超时的定时器。此时将调用回调cb_my_timerout() get。
谢谢,PM_Dialog
嗨PM_Dialog,
以下是部分代码:
Do{//调度所有挂起事件schedule_while_ble_on();} while (app_asynch_proc() != GOTO_SLEEP);//定时串行打印字符串wake_up_timer_used = app_easy_timer(1000, Led_sock);如果(((! BLE_APP_PRESENT) & & (check_gtl_state ())) | | (BLE_APP_PRESENT)) {GLOBAL_INT_STOP ();//获取允许的睡眠模式sleep_mode = rwip_power_down();Printf("睡眠模式= %x \r\n",睡眠模式);If ((sleep_mode == mode_ext_sleep) || (sleep_mode == mode_deep_sleep)){//关闭收音机和任何允许的arch_goto_sleep(sleep_mode);if ((GetWord16(SYS_STAT_REG) & DBG_IS_UP) == DBG_IS_UP) {wdg_freeze(); / /冻结//停止watchdog定时器}WFI();/ /恢复操作arch_resume_from_sleep (); } ...
我遇到了以下问题:
1)当我将580模型设置为ARCH_EXT_SLEEP_ON模式时,关闭外围设备和收音机,但串口(U1)除了可以打印计时器回调,还可以一直打印休眠模式变量。它还会发送蓝牙广播,所以我不知道它是不是睡着了?
1.1)后来我把串口改为U2,串口在休眠时不再打印sleepMode变量,为什么U1在休眠时不能停止打印,是配置错误吗?
2)当我设置580型号的ARCH_DEEP_SLEEP_ON模式,定时器回调函数和串行和蓝牙不再有输出和发送广播,深度睡眠时如何唤醒?
3)我有一个自己设计的板,使用DA14580,但是我想把32K有源晶体振荡器换成32K无源晶体振荡器。
这是可行的,我应该如何连接和配置它?
我试了一下,它似乎在一段时间后进入了睡眠模式,但没有蓝牙无线电传输或串行打印。
谢谢。
您所附的代码片段是SDK文件。强烈建议不要修改任何SDK文件。所有的更改都应该应用到应用层,应用层包含所有以“user_”开头的文件。
关于你的1/和2/问题,老实说,我无法理解你在代码中做了什么,所以请提供额外的信息。我建议你去看看教程4:在DA1458x上配置睡眠模式文档。
也有中文版本:教程4:在DA1458x上配置睡眠模式
3/你说的被动和主动XTAL23K是什么意思?
谢谢你的回答。我使主打印睡眠模式在睡觉前。
我的意思是32k有源晶体振荡器和32k无源晶体,你知道吗?
你能告诉我零件号吗?
嗨GGQ_in,
您应该使用app_easy_timer() API来唤醒设备。一旦设备进入睡眠模式,就应该配置计时器。当它到期时,您应该将您喜欢的功能放在回调函数中。这可以通过设置计时器来实现,如下所示:
cb_my_timeout app_easy_timer (100);
第一个参数指定在100 * 10ms = 1000ms = 1s之后超时的定时器。此时将调用回调cb_my_timerout() get。
谢谢,PM_Dialog
嗨PM_Dialog,
以下是部分代码:
我遇到了以下问题:
1)当我将580模型设置为ARCH_EXT_SLEEP_ON模式时,关闭外围设备和收音机,但串口(U1)除了可以打印计时器回调,还可以一直打印休眠模式变量。它还会发送蓝牙广播,所以我不知道它是不是睡着了?
1.1)后来我把串口改为U2,串口在休眠时不再打印sleepMode变量,为什么U1在休眠时不能停止打印,是配置错误吗?
2)当我设置580型号的ARCH_DEEP_SLEEP_ON模式,定时器回调函数和串行和蓝牙不再有输出和发送广播,深度睡眠时如何唤醒?
3)我有一个自己设计的板,使用DA14580,但是我想把32K有源晶体振荡器换成32K无源晶体振荡器。
这是可行的,我应该如何连接和配置它?
我试了一下,它似乎在一段时间后进入了睡眠模式,但没有蓝牙无线电传输或串行打印。
谢谢。
嗨GGQ_in,
您所附的代码片段是SDK文件。强烈建议不要修改任何SDK文件。所有的更改都应该应用到应用层,应用层包含所有以“user_”开头的文件。
关于你的1/和2/问题,老实说,我无法理解你在代码中做了什么,所以请提供额外的信息。我建议你去看看教程4:在DA1458x上配置睡眠模式文档。
也有中文版本:教程4:在DA1458x上配置睡眠模式
3/你说的被动和主动XTAL23K是什么意思?
谢谢,PM_Dialog
你好,
谢谢你的回答。我使主打印睡眠模式在睡觉前。
我的意思是32k有源晶体振荡器和32k无源晶体,你知道吗?
谢谢。
你好,
你能告诉我零件号吗?
谢谢,PM_Dialog