在线时间30 小时
UID3086401
注册时间2014-12-24
NXP金币0
该用户从未签到
中级会员
 
- 积分
- 240
- 最后登录
- 2017-6-28
|
芯片MK22FN512问题:芯片进入stop mode后按键中断可以唤醒,但唤醒后定时周期和波特率都不对了,应该是系统的频率变低了。怎么回事?
mainProcess函数中,唤醒后进入while(1)后LED闪烁频率变慢,打印信息乱码。
void PORTD_IRQHandler(void)
{
// Clear external interrupt flag.
GPIO_DRV_ClearPinIntFlag(KEY1);
Device.PowerState = power_state_on;
}
void mainProcess(void)
{
printf("start\r\n");
PIT_DRV_StartTimer(pitTimer1_IDX,pitTimer1_CHANNEL);//启动定时器
//LED闪烁5次,周期500MS
LED_Flash_Deca(500, 5);
LED_Flash_Lora(500, 5);
DelayMs(3000);
//进入低功耗模式
printf("enter low power\r\n");
POWER_SYS_SetMode(1 , kPowerManagerPolicyAgreement);
while( Device.PowerState == power_state_off); //等待按键中断唤醒
while(1)
{
LED_Toggle(LED_Deca);
printf("delay\r\n");
DelayMs(500);
}
}
最佳答案
楼主你好!
退出STOP和你的时钟模式有关。
如果进入前是PEE模式,退出之后是PBE模式,所以你需要重新做下模式转换以及UART配置。
|
|