蓝牙技术
直播中

吴湛

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

CY8CKIT-062-BLE PSoC6 BLE Pioneer Kit调试可以正常工作,烧录无法正常工作的原因?

我参照例程“CE210291_CapSense_P4_One_Button01”写了一个CapSense按键相关的定时休眠唤醒程序,在CY8CKIT-062-BLE PSoC 6 BLE Pioneer Kit上,调试可以正常工作,烧录无法正常工作。能帮看一下吗?
另外,这个CapSense按键状态切换有点慢,有什么改进的地方?
多谢!
                                                                                                                                                                                                                                                                                                                                                                                             

回帖(1)

张览秀

2024-2-19 15:42:48
你看到的现象并不是真正的原因,我可以确认M0+ 是否进入深睡眠不会影响 M4核执行 CapSense 和 LED 操作。
比如用你的工程(使能 M0+核深睡眠),把 compile 模式从 DEBUG 改为 RELEASE, 或者使用 MDK 编译器(DEBUG 和RELEASE 都可以),你会发现触摸时可以工作的。再比如说 main_cm4.c 中的打印信息稍微改一下(如下代码),触摸也可以回复正常。

    capSenseApiResult = CapSense_Start();

    if (capSenseApiResult== CY_RET_SUCCESS)
    {
        DEBUG_PRINTF("CAPSENSE INIT PASSrn");
      
    }
    else
    {
        DEBUG_PRINTF("CAPSENSE INIT FAILrn");
    }
   
while(1)

我解释不了这个现象,可能是你当前的代码在编译过程中正好触发了 gcc 编译器的某个 bug,导致代码没有正常执行,因为用你的原始工程(使能 M0+核深睡眠),我在 while(1) 循环里闪灯,我发现灯根本就不闪动,也就是 while(1)主循环根本就没执行。
举报

更多回帖

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