完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
在HTTP://www. CyPress .COM/GO/AN92584I中阅读:
在应用程序控制下输入祝福睡眠和睡眠模式。退出可以以两种方式之一启动:O应用程序调用CyByLyStudiLPME()函数,其中输入参数为活动的。 我找不到任何调用输入参数为活动的CyyBuyEnLyLPME()函数的例子。 请帮忙。 |
|
相关推荐
18个回答
|
|
|
|
|
|
所以我可以结束你的案子吗?这些例子对你有用吗?
|
|
|
|
当然。我还没有检查,但答案很清楚。
|
|
|
|
我用计时器创建了检查开关LPM模式的例子,因为设备不想进入休眠模式,所以出错了。我使用红色LED标志时,设备在睡眠或深度睡眠模式。如果你运行这个例子,你可以看到它试图进入,但没有很长的时间。大多数时间,它都是关闭的。电力消耗在这个时候是不相关的,所以我没有玩时钟。
LPMION-OFF.CYPRJ.Access 01.ZIP 639.4 K |
|
|
|
|
|
|
|
抱歉我的错误(我不是这个词足够大)代码的例子。
|
|
|
|
|
|
|
|
|
|
|
|
下面是应用笔记的程序。
我确实注意到他们没有这个问题的代码。 Cyrkk.CaseV02.Zip 1.2兆字节 Byrad广告. Cyrkk.CaseV02.Zip 1.2兆字节 |
|
|
|
|
|
|
|
低功耗启动程序有这个功能我检查了它。你看了它应该在里面的BELL API规范吗?
|
|
|
|
该功能要求底层的BLE模块如BLE控制器、BLE主机栈和BLE栈管理器进入所支持的低功耗模式中的一个。应用程序应该使用这个功能把蓝牙低能量子系统(祝福)放在Low Power Mode(LPM)上。
BLE栈根据其当前状态进入和退出低功耗模式,因此应用程序在将CPU或整个设备放入LPM之前应考虑BLE堆栈LPM状态。此函数试图设置请求的低功耗模式,如果不可能,则尝试设置下一个更高的低功耗模式。这种行为是因为当应用程序不需要处理时,应用程序总是尝试使用最低功率模式。注意当CPU处于深度休眠模式时,CPU将无法访问祝福寄存器。 BLE堆栈具有以下电源模式: 主动睡眠(低功耗模式)睡眠与ECO关闭(Low Power Mode)Hibernate(Low Power Mode) 注意,某些条件可以防止BLE子系统进入特定的低功率模式。 主动模式 蓝牙低能量子系统(保佑)在主动模式下有三个子模式: 空闲传输模式和接收模式 这些模式从设备中提取全电流,CPU完全访问其寄存器。 睡眠模式 到链路层引擎和数字调制解调器的时钟被选通,并且(外部晶体振荡器)ECO继续运行以维持链路层定时。如果发送或接收正在进行,则应用程序无法进入休眠模式。 ECO关闭模式下的深度睡眠 ECO停止,并观察晶体振荡器(WCO)用于维持链路层定时。在射频(RF)收发器中的所有调节器被关闭以减少泄漏电流,并且保佑逻辑从系统资源子系统(SRSS)深度睡眠调节器保持供电,以保持当前的保佑状态信息。此模式可以从空闲(活动)或休眠模式进入。当下一个预定活动在时域中的时间大于深度睡眠总唤醒时间(通常2MS)时,应该进入。 注意:如果应用程序使用ECO作为HFCLK的源来实现更高的时钟精度,并调用此API将祝福移动到深度休眠模式,那么HFCLK的准确性和频率将受到影响,因为API将HFCLK源从ECO切换到IMO。在祝福唤醒中,HFCLK源将被切换回ECO。 建议是在调用这个API之前,应用程序打开IMO并将其设置为HFCLK源。由于除了祝福以外的源唤醒,应用程序可以打开ECO并切换HFCLK源到ECO。下面给出了推荐的伪代码。 伪代码://打开IMO并切换HFCLK到IMO CyByLyStudiLPM(CysLyBLeSSiDeLoSead);CysSpMyDeSLeLeP(;)/(如果退出不是由于BLE,应用程序需要使用ECO /),然后打开ECO并切换HFCLK源到ECO。 休眠模式 应用层应该用Hibernate模式选项调用这个函数,将Load栈放到休眠模式中。如果设置了这种模式,微控制器就可以通过应用层进入休眠模式。这种模式确保了BLE子系统完全空闲,并且没有任何ADV、扫描和连接的过程是活动的。 下表指示完整系统(BLE子系统和微控制器)所允许的休眠模式。在“X”中标记的模式是允许的组合。应用层应该确保无效的模式没有输入到: BLE堆栈LPM/PSOC4A BLE LPM主动睡眠睡眠休眠主动X睡眠X X睡眠(ECO OFF)X X Hibernate X 应用层负责将BLE子系统和微控制器置于所需的睡眠模式中。当进入所请求的睡眠模式组合时,BLE子系统和微控制器被每个广告间隔中断(在间隙外围的情况下)或连接间隔唤醒(在间隙中心的情况下)。在唤醒时,如果应用程序需要发送一些数据,则需要调用包含堆栈函数的适当函数。这之后需要调用函数CyByLePraceSevvices,它处理所有挂起的发送和接收操作。应用程序现在可以将完整的系统返回到一个休眠模式。应用程序应确保从未遇到上述无效状态。 应用程序还应确保BLE子系统的低功耗入口和低功耗出口中断被实时处理而不被阻塞。建议BLE子系统中断应具有更高的优先级。如果BLE子系统中断被阻塞更长的时间(& gt;200 US),BLE子系统可能违反唤醒的蓝牙规范定时,其中ECO需要执行BLE无线电操作。当ECO未正确启动,BLE子系统进入未知状态时,BLE栈等待中断,RLE堆栈卡在忙循环中。 这是一个阻塞函数。在进入祝福深度睡眠模式的过程中,BLE Stand将CPU置于睡眠模式,以节省电力,同时轮询进入指示以祝福DSM。调用此函数时不会生成任何事件。基于这个函数的返回代码,应用层应该决定整个系统的休眠模式。例如,如果返回代码是CyByByBelsIsHealS睡脚,应用程序可以选择调用全系统的深度休眠模式函数。 参数 PWRMODE组件要进入的电源模式。所允许的值为 CybLysBysLySype BysLeBysLoeSt入睡 返回CyByLyLpMyDyt:现在将BLE堆栈设置为实际的电源模式。 |
|
|
|
|
|
|
|
我在你的问题上打开了塞浦路斯的支持案例,当他们做出回应时,我会回到你身边。
|
|
|
|
谢谢!这真是帮了大忙。
|
|
|
|
卓别林:这是塞浦路斯对你问题的回答。
嗨,罗伯特,我能告诉你的事情很少:1)CyByLyEnLyPM(CyByLyBelsAcActudio)在2种情况下使用:a)写成Flash:在启动Flash之前,祝福中断被中断,祝福被投入到LPM中。写完成后,祝福被CyByLyLyLPM唤醒(CyByb BelsIAcActuple)。b)读取链路层寄存器:只有当祝福活动时,才能访问链路层寄存器。因此,如果祝福在LPM中,我们使用CyByLyStudiLPM(CyByLyBelsIAcess)API唤醒它,然后读取LL寄存器。2)最好使用CyLype ExITLPM()在CysLyEnLyLPM(CybulyBelsIsAc活性)上使用。3)我不认为有这些例子。 我让他检查了第3项,这是他的答案。 我们没有任何例子来证明我告诉过你的事情。 我希望这对你有帮助。 |
|
|
|
嗯,不是什么好消息。如果塞浦路斯没有检查,我怎么能创造一些东西呢?
你能要求检查CyByLyEXITLPME()(如果它更好)功能吗? 他们有专家和专业程序员来做这件事。 如果他们能创建一些例子,如LED开/关将是非常有帮助的。睡一觉,等一段时间后醒来。 |
|
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2110 浏览 1 评论
1858 浏览 1 评论
3673 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1791 浏览 6 评论
1540 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
575浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
428浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
439浏览 2评论
389浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
921浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-26 17:15 , Processed in 2.442702 second(s), Total 111, Slave 95 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号