我采用的是STM32F071这个芯片,采用FREERTOS,使用的电池供电,所以要求低功耗,我采用的TICKLESS官方推荐的方式,配置 #define configUSE_TICKLESS_IDLE 1 ,然后编写函数 vPortMySuppressTicksAndSleep 在这里 进入STOP模式,采用RTC的闹钟中断唤醒,和 外部中断唤醒; 但是 经过测试,在外部中断中发送任务信号量(不是xSemaphoreTake创建的 而是任务自带的内部信号量),可以唤醒对应的任务, 然后测试 xSemaphoreTake 创建的独立信号量的方式,测试代码为 创建一个信号量,然后一个线程设置5秒等待这个信号量,然后输出调试信息,但是一旦唤醒,系统就死机了 然后不再进入SYSTICK中断了,,,,调试了 快一个月了,,,实在没办法了,,论坛里 希望有使用过 这种 低功耗方式的,可以指导一下,非常感谢! |
复位肯定是不可以的! 复位的话 应用就乱了!
就一个测试任务 ,我堆栈开的很大的,空闲任务的堆栈我开的也很大!
您好,可以加您QQ吗?我在F103实现了,F071一直卡主,找不到问题在哪里 估计是CM0操作不一样!我的QQ 3314900970