ST意法半导体
直播中

李娟

7年用户 1304经验值
私信 关注
[问答]

如何将SPC5Studio主板唤醒并将其设置为运行模式呢?

我正在尝试将我的主板设置为暂停模式,然后将其唤醒并将其设置为运行模式。
我阅读了 AN3316 并编写了这段代码,但它不起作用。
如果(pal_lld_readpad(PORT_E,按钮)==0)
                 {
                         停止模式标志 = 1U;
                         pal_lld_togglepad(PORT_H,LEDTEST);
                                                  osalThreadDelayMilliseconds(100);
                                                 pal_lld_togglepad(PORT_H,LEDTEST);
                 }
                 如果(停止模式标志 == 1U){
                           /*(模式设置为 HALT)dar safhe 25 Application noteSPC560B power and mode management*/
                               ME.HALT0.B.CFLAON=2; //(低功耗模式下的代码闪存)
                               ME.HALT0.B.DFLAON=2; //(低功耗模式下的数据闪存)
                               ME.HALT0.B.FXOSC0ON = 1; //(打开XTAL)
                               ME.HALT0.B.FMPLLON = 1; //(打开PLL)
                               ME.HALT0.B.SYSCLK = 4; //(将 PLL 设置为设备系统时钟)
                               /*(外设模式设置HALT模式:)*/
                               ME.LPPC[0].B.HALT0 = 1; //(在 HALT 中激活低功耗外设配置“0”)
                               ME.PCTL[4].B.LP_CFG = 0; // 为偏移 = 4 标识的 DSPI0 选择低功耗外设配置“0”(参见图 x)
                               ME.PCTL[32].B.LP_CFG = 0; //为偏移 = 32 标识的 ADC 选择低功耗外设配置“0”(参见图 x)
                               ME.PCTL[48].B.LP_CFG = 0; //为偏移 = 48 标识的 lin 选择低功耗外设配置“0”(参见图 x)
                               ME.PCTL[16].B.LP_CFG = 0; //为偏移 = 16 标识的 FlexCAN0 选择低功耗外设配置“0”(参见图 x)
                               /*定时器设置:参见第 5 步(RUN0 到 HALT 模式)*/
                               /*请求转换到 RUN0 模式:因此,在 RUN0 到 HALT 转换的情况下,应该完成这两个寄存器写入:*/
                                                  ME.MCTL.R = 0x80005AF0;
                                                  ME.MCTL.R = 0x8000A50F;
                                                  而 (ME.GS.B.S_MTRANS != 0){}
                                              而 (ME.IS.B.I_MTC != 0){}
}
void ConfigureWKPU(void) {
/* 启用 WKPU PCTL */
SPCSetPeripheralClockMode(69,
SPC5_ME_PCTL_RUN(2) | SPC5_ME_PCTL_LP(3));
INTC_PSR(46) = 7;
WKUP.WRER.R = (1U << 0); // 启用唤醒引脚 o f:n
WKUP.WIREER.R = (1U << 0); //启用上升沿中断
WKUP.WISR.R = 0xFFFFFFFFU;// 清除外部中断发生的中断标志
}










回帖(1)

李淑嘉

2023-1-4 16:21:41
您可以找到一个使用 SPC5Studio 开发的示例,该示例向您展示了如何将 SPC560B 置于 HALT 模式,然后使用 RTC_API 生成的中断将其移回 RUN0 模式。与应用程序相关的所有详细信息都汇总在 zip 文件中的自述文件中。
举报

更多回帖

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