ME0 MCAL低功耗流程分享
-
GPIO
建议空闲IO配置成输出低电平,如果IO口过多,可以重新通过YCT新建工程,配置低功耗下专门IO状态,在进入低功耗前,重新Port_Init()
ADC
Adc_StopGroupConversion(AdcConf_AdcConfigSet_AdcGroup_0); Adc_DeInit();
GPT
Gpt_DeInit();
LIN
Lin_GoToSleepInternal(LinConf_LinChannel_LINFlexD0); Lin_DeInit();
CAN
Can_SetControllerMode(CanConf_CanController_CAN_0, CAN_CS_STOPPED); Can_DeInit();
I2C
I2C参考demo例程,必须等待状态完成,才能Deinit成功。
do { TempRav = CddI2c_GetTransferStatus(CddI2cConf_I2cChannel_I2cChannel_0); } while (I2C_CHN_COMPLETED != TempRav);
CddI2c_DeInit();
SPI
Spi_Cancel(SpiConf_SpiChannel_Spi1MasteChannel0); Spi_DeInit();
UART
CddUart_Abort(CDDUART_Channel_0,CDDUART_RECEIVE); CddUart_Abort(CDDUART_Channel_0,CDDUART_SEND); CddUart_Deinit();
DMA
建议DMA最后关闭,之后再关闭相关外设中断。
CddDma_DeInit();
低功耗异常排查建议
通过*Det_ReportError()*返回状态确定外设是否Deinit成功
发帖前请查看
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...