我把P3.2调高了。我使用keu timer\u set()函数生成10ms计时器。在定时器中断功能中,我将P3.2设置为低。动作每100ms产生一次。
警惕_state.port = 3
警惕_state.pin = 2
作废函数()
{
GPIO\ U SetActive(警报_state.port,警报_state.pin);
KEU定时器设置(应用程序PXP定时器,任务应用程序,1);
}
每100ms调用一个函数
int proxr \u create \u db \u cfm \u handler(ke \u msg \u id \u t const msgid,
struct proxr \u create \u db \u cfm const*参数,
任务id常量目标id,
Keu任务\u id \u t const src \u id)
{
GPIO\ U SetInactive(警报_state.port,警报_state.pin);
清除计时器(应用程序PXP计时器,任务应用程序);
}
如果没有你的睡眠,它工作正常。
当定义延长睡眠时,P3.2高的时间小于10ms(约7ms)。但是APP\u PXP\u计时器工作正常。这意味着P3.2被设置为低在其他地方
这个项目。
你能给我一些建议吗。
非常感谢。
关键词:
设备:
嗨,阿威斯利,
当da进入休眠模式时,执行periph_init()函数,引脚返回到初始配置状态(如periph函数中配置的)。请检查这个,它可能会导致您的问题。
谢谢你的对话