查看: 12759|回复: 27

[S12] 求助:MC9S12P如何配置进入Wait 或 Stop Mode

[复制链接]

该用户从未签到

6

主题

38

帖子

0

新手上路

Rank: 1

积分
54
最后登录
1970-1-1
发表于 2012-11-23 10:45:23 | 显示全部楼层 |阅读模式
     如题,如何在程序中 进入Wait 或 Stop Mode?
我知道答案 目前已有27人回答
回复

使用道具 举报

该用户从未签到

11

主题

288

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
610
最后登录
1970-1-1
发表于 2012-11-23 11:13:07 | 显示全部楼层

RE:求助:MC9S12P如何配置进入Wait 或 Stop Mode

CPMUCLKS_PSTP = 1;                  /* Set PSTP bit to enable Pseudo Stop Mode */
asm STOP;                                       /* Enter Pseudo Stop mode */ 
asm WAI;                                          /* Enter Wait mode */ 
 
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

64

帖子

0

新手上路

Rank: 1

积分
108
最后登录
1970-1-1
发表于 2012-11-23 15:34:22 | 显示全部楼层

回复:求助:MC9S12P如何配置进入Wait 或 Stop Mode

你的问题解决了吗?
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

64

帖子

0

新手上路

Rank: 1

积分
108
最后登录
1970-1-1
发表于 2012-11-23 15:34:36 | 显示全部楼层

回复:求助:MC9S12P如何配置进入Wait 或 Stop Mode

你的问题解决了吗?
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

38

帖子

0

新手上路

Rank: 1

积分
54
最后登录
1970-1-1
 楼主| 发表于 2012-11-26 09:57:43 | 显示全部楼层

回复:求助:MC9S12P如何配置进入Wait 或 Stop Mode

回复第 2 楼 于2012-11-23 11:13:07发表:
 

     谢谢, 我的代码是用Processor experts 生成的,所以在Main() 中第一次执行的是 PE_low_level_init();
我在调试的过程中发现,若将asm WAI;放在PE_low_level_init();之前能进入Wait mode ; 放在PE_low_level_init();之后便不起作用了。
而我希望在While()函数中 执行asm WAI 。 还请指教!!
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

38

帖子

0

新手上路

Rank: 1

积分
54
最后登录
1970-1-1
 楼主| 发表于 2012-11-26 09:58:24 | 显示全部楼层

回复:求助:MC9S12P如何配置进入Wait 或 Stop Mode

回复第 4 楼 于2012-11-23 15:34:36发表:
你的问题解决了吗?
 

没呢  有建议吗?
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

64

帖子

0

新手上路

Rank: 1

积分
108
最后登录
1970-1-1
发表于 2012-11-26 10:20:48 | 显示全部楼层

RE:求助:MC9S12P如何配置进入Wait 或 Stop Mode

DisableInterrupts;   /*把中断禁止后才能进入stop mode*/
CLKSEL_PSTP=0;      
asm ANDCC #0x7F;
asm STOP;
我在主函数中加入这样几句话进入的停止模式,但我要解决的问题比你的问题要复杂一些
回复 支持 反对

使用道具 举报

该用户从未签到

6

主题

38

帖子

0

新手上路

Rank: 1

积分
54
最后登录
1970-1-1
 楼主| 发表于 2012-11-26 11:08:02 | 显示全部楼层

回复:求助:MC9S12P如何配置进入Wait 或 Stop Mode

回复第 7 楼 于2012-11-26 10:20:48发表:
DisableInterrupts; /*把中断禁止后才能进入stop mode*/
CLKSEL_PSTP=0;
asm ANDCC #0x7F;
asm STOP;
我在主函数中加入这样几句话进入的停止模式,但我要解决的问题比你的问题要复杂一些 

是的, 中断禁止后才能进入低功耗模式, 但是中断都禁止了,怎么唤醒呢?
    求指教!
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

64

帖子

0

新手上路

Rank: 1

积分
108
最后登录
1970-1-1
发表于 2012-11-26 14:39:33 | 显示全部楼层

RE:求助:MC9S12P如何配置进入Wait 或 Stop Mode

用非屏蔽中断唤醒。问下,唤醒程序是什么流程
回复 支持 反对

使用道具 举报

该用户从未签到

11

主题

288

帖子

0

版主

Rank: 7Rank: 7Rank: 7

积分
610
最后登录
1970-1-1
发表于 2012-11-26 14:48:20 | 显示全部楼层

RE:求助:MC9S12P如何配置进入Wait 或 Stop Mode

可以不用关闭中断访问,但是要针对各个模块要关闭中断。需要唤醒功能的模块中断开启,就可以了。还有,要注意定时器中断,时间太短的话,也会发生问题。比如1ms中断,在我们看来,没有进入STOP模式,其实已经进去了,只是中断发生频繁,而导致程序会运行。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2024-5-9 00:37 , Processed in 0.133518 second(s), 29 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表