单片机/MCU论坛
直播中

李鸿洋

9年用户 848经验值
擅长:可编程逻辑
私信 关注
[问答]

CapSense5可以在扫描时进入深度睡眠吗?

我试着让 CapSense5 在扫描时进入深度睡眠,就像 MSCLP 一样。

  • 我用的是CY8CKIT-041S-MAX。
  • 我用 1 个按钮 (BTN0) 配置 CAPSENSE™
  • 我将扫描模式设置为 CS-DMA 以启用自主扫描
  • 我通过测量电流来检查差异,CPUenterSleep () 电流从 18mA 低到 12mA。
结果是 cy_syspm_cpuenterSleep () 起作用但是 cy_syspm_cpuenterDeepSleep () 不起作用。 我的问题是

  • 在扫描时进入深度睡眠还有更多的事情要做吗?
  • 或者 MSC 无法进入深度睡眠但是 MSCLP 可以?
  • 有如何操作的示例代码吗?
代码简介就像
for (;;) {    if (CY_CAPSENSE_NOT_BUSY == Cy_CapSense_IsBusy(  cy_capsense_context )) {         . . .    }    Cy_SysPm_CpuEnterDeepSleep();}
smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/CAPSENSE-MagSense/Can-CapSense5-enter-deep-sleep-while-scanning/td-p/676614
                                                                                                                                                                                                                                                                                                                                                                                                        
                                                        

回帖(1)

郑成枝

2024-1-24 15:57:26
根据您提供的信息,似乎CY8CKIT-041S-MAX开发板上的CapSense5无法在扫描时进入深度睡眠。

在PSoC 4设备上,当CapSense™组件处于自主模式(如您描述的CS-DMA)时,它通常是触发CPU唤醒的唯一中断源。这意味着CapSense扫描会阻止CPU进入深度睡眠。

您提到的MSC和MSCLP似乎是您自定义的功能名,我无法直接提供与之相关的示例代码。请确认这些名称是否与Cypress的特定功能相关。如果是,请参考相关PSoC 4文档和代码示例,以获取更多关于这些功能如何工作以及如何使用的信息。

一种可能的解决方案是尝试将CapSense组件配置为容许改用固定功能中断替代自主模式。这可能需要使用专用的CapSense中断线和ISR来处理触摸检测事件。然后,您可以将CPU设置为进入深度睡眠,并保持CapSense组件在后台扫描。

请注意,这种方法可能会引入其他复杂性,并且具体实施可能需要进一步研究和调试。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分