完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
嘿所有
我有一个项目的问题,我正在努力。我目前使用CYBLY-21400,它通过I2C从IMU采样一些数据,并通过BLE传输。如果系统不进入低功耗模式,则效果良好。但是… 如果我进入深度睡眠,当BLE或I2C没有更多的工作要做时,来自IMU(10赫兹)的GPIO中断正在唤醒处理器,BLE被卡住。当我查看堆栈跟踪时,它只是在这里停了下来: 0 CysSpMySeLeP()派生的源:pSOC4CyPM.C 44 0x000(1CCEE)(ALL) 1 LLWaWItiOTOEXITIDSDSM()?????????????????0x000 014810(全部) 2?????????????????0x000 014090(全部) 3 LythTaskHoall()?????????????????0x000 017b64(全部) 4 LLFTTI Service EQueReo()?????????????????0x000 0185C6(全部) 5 LLFFTaskStaskScript程序()?????????????????0x000 01851 e(全部) 以上来自于百度翻译 以下为原文 Hey All I have a problem with a project I am working on. I currently use a CYBLE-214009 it samples some data from a IMU via I2C, and transmit it via BLE. This works well if the system does not enter low power modes. BUT... If i enter deepsleep, when the BLE or the I2C does not have any more work to do, and a GPIO interrupt from the IMU (10 Hz) is waking the processor the BLE gets stuck. When I look at the stack trace it is just haled here: 0 CySysPmSleep() Generated_SourcePSoC4cyPm.c 44 0x00001CCE (All) 1 ll_wait_to_exit_dsm() ?????? ?????? 0x00014810 (All) 2 ll_exit_low_power_mode() ?????? ?????? 0x00014090 (All) 3 ll_task_handler() ?????? ?????? 0x00017B64 (All) 4 llft_service_queue() ?????? ?????? 0x000185C6 (All) 5 llf_task_start_routine() ?????? ?????? 0x0001851E (All) |
|
相关推荐
3个回答
|
|
在将CPU置于低功耗模式之前,您是否正确地将LIP堆栈置于低功耗?
此外,关闭时钟源可能也是一个原因吗? 以上来自于百度翻译 以下为原文 Did you correctly put the BLE stack into low power before putting the CPU into low power mode? Also, clock sources being turned off might be a cause too? |
|
|
|
该系统采用IMO设置在48 MHz。所以生态只应该用于BLE。 如果我的应用程序已经准备好睡觉了,我用下面的方式检查BLE模块: BelPosie= CyByLyGETBLISSTATE(); 如果(BLYLLPMODE=CyByLyBelsSeDeLoad & AMP; (Burfy==CyBysBelsStiste:Debug)= BelePosiv= 返回深度睡眠; 如果(布莱尔)!= CyBysBLISStAtEngEnvithCype 返回睡眠; 恢复清醒; (BLYLLPMODE是上次调用CyByLyEnLPM(CyByb Belssi-Debug)函数时的响应。 以上来自于百度翻译 以下为原文 The system is set up with the IMO at 48MHz. So the ECO should only be used for the BLE. If my application are ready to go to sleep, i am checking the BLE Module the following way: blePower = CyBle_GetBleSsState(); if(ble_lpmode == CYBLE_BLESS_DEEPSLEEP && (blePower == CYBLE_BLESS_STATE_DEEPSLEEP || blePower == CYBLE_BLESS_STATE_ECO_ON)) return deepSleep; if(blePower != CYBLE_BLESS_STATE_EVENT_CLOSE) return sleep; return awake; (where ble_lpmode is the response from the last time the CyBle_EnterLPM(CYBLE_BLESS_DEEPSLEEP) function was called). |
|
|
|
新晴细履平沙 发表于 2018-11-16 09:34 根据PSoC Creator的文件: T>CyBlyBlaseStayeSeeOvion & lt;/Td & Gt; TD & GT;BLE子系统处于从深睡眠模式唤醒的过程中,ECO(XTAL)被开启。 * CPU可以置于深度休眠模式。 因此,我将去掉部分检查代码中的{ BultPr==CyByLyBelsStayeECOOI,正如你所说的,当单元从沉睡中醒来时,它处于深度睡眠状态,现在是清醒的。 以上来自于百度翻译 以下为原文 According to the documentation in the PSoC Creator: *Thus, I would remove the || blePower == CYBLE_BLESS_STATE_ECO_ON part of the check code, as you would be saying the unit is in deepsleep when it is just waking up from deepsleep and is awake now. |
|
|
|
只有小组成员才能发言,加入小组>>
754个成员聚集在这个小组
加入小组2105 浏览 1 评论
1851 浏览 1 评论
3669 浏览 1 评论
请问可以直接使用来自FX2LP固件的端点向主机FIFO写入数据吗?
1786 浏览 6 评论
1536 浏览 1 评论
CY8C4025LQI在程序中调用函数,通过示波器观察SCL引脚波形,无法将pin0.4(SCL)下拉是什么原因导致?
570浏览 2评论
CYUSB3065焊接到USB3.0 TYPE-B口的焊接触点就无法使用是什么原因导致的?
423浏览 2评论
CX3连接Camera修改分辨率之后,播放器无法播出camera的画面怎么解决?
437浏览 2评论
384浏览 2评论
使用stm32+cyw43438 wifi驱动whd,WHD驱动固件加载失败的原因?
915浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 18:26 , Processed in 1.325544 second(s), Total 82, Slave 66 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号