你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 12212|回复: 15

STM8S AWU(活跃停机)功能一打开,过一会儿程序喜欢跑飞

[复制链接]

7

主题

34

回帖

0

蝴蝶豆

中级会员

最后登录
2020-8-31
发表于 2013-9-6 15:02:06 | 显示全部楼层 |阅读模式
问题描述:AWU功能一打开,过一会儿程序喜欢跑飞
                  不打开AWU功能就可以,不知道是哪个地方出了问题!编译器为IAR
#include "stdio.h"
#include  
#include
#define  _NOP()   __no_operation()
#pragma vector = 0X03
__interrupt void AWU_IRQHandler(void)
{
    unsigned char i;
    _NOP();
    i=AWU_CSR1;
    _NOP();
}

void Awu_Init(void)
{
    CLK_ICKR|= 0x08;        //打开LSI时钟
    CLK_PCKENR2 |= 0X04;   //使能AWU时钟
    AWU_APR=0x1e;           //
    AWU_TBR=0x0b;           //
    AWU_CSR1|=0x10;         //AWU使能自动唤醒功能
    CLK_ICKR|= 0x20;         //活跃停机模式(AWU使能情况)下,关闭电压调节器节省功耗
    CLK_ICKR|= 0x04;          //从停机(Halt)或活跃停机(Active Halt)模式快速唤醒使能
    FLASH_CR1 &= ~0x40;   //活跃停机模式下Flash掉电,
}
void main(void)
{
    _NOP();
    Awu_Init();
    _NOP();
    __enable_interrupt();  // 开全局中断
    while (1)
    {
        _NOP();
        __halt();               //低功耗模式(停机)
        _NOP();
    }
}

dianks.rar

下载

22.59 KB, 下载次数: 92, 下载积分: ST金币 -1

回复

使用道具 举报

4

主题

67

回帖

0

蝴蝶豆

初级会员

最后登录
2019-11-26
发表于 2013-9-16 21:04:27 | 显示全部楼层

回复:STM8S AWU(活跃停机)功能一打开,过一会儿程序喜欢跑飞

所有未用的I/O口全部设为上拉输出低电平,把未用的的IO设置成输入试试。
寄存器.pdf (4.6 MB, 下载次数: 370)
回复 支持 1 反对 0

使用道具 举报

3

主题

161

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2013-9-7 12:04:40 | 显示全部楼层

回复:STM8S AWU(活跃停机)功能一打开,过一会儿程序喜欢跑飞

 程序跑飞,自己单步,找到跑飞的地方。
回复 支持 反对

使用道具 举报

0

主题

29

回帖

0

蝴蝶豆

新手上路

最后登录
2020-1-10
发表于 2013-9-8 14:29:46 | 显示全部楼层

RE:STM8S AWU(活跃停机)功能一打开,过一会儿程序喜欢跑飞

程序跑飞与芯片功能无关,很多时候是指针非法或访问越界。建议你根据SP指向的内存区,查看栈内数据,找出跑飞位置,然后仔细检查程序。个人调试的一点心得,希望对你有用
回复 支持 反对

使用道具 举报

7

主题

34

回帖

0

蝴蝶豆

中级会员

最后登录
2020-8-31
 楼主| 发表于 2013-9-9 09:19:08 | 显示全部楼层

回复:STM8S AWU(活跃停机)功能一打开,过一会儿程序喜欢跑飞

程序单步运行时正常,是走了一会儿后,程序才跑飞的。
堆栈也是正常的,现在只有一个中断,然后是while (1)
    {
        _NOP();
        __halt();               //低功耗模式(停机)
        _NOP();
    }
 
库函数的例程,我也试了,走一段时间后(1到2分钟后),也会跑飞。
回复 支持 反对

使用道具 举报

5

主题

303

回帖

0

蝴蝶豆

金牌会员

最后登录
1970-1-1
发表于 2013-9-14 15:57:51 | 显示全部楼层

RE:STM8S AWU(活跃停机)功能一打开,过一会儿程序喜欢跑飞

库函数的例程如果都能跑飞,可能是你硬件设计上的问题了
回复 支持 反对

使用道具 举报

7

主题

34

回帖

0

蝴蝶豆

中级会员

最后登录
2020-8-31
 楼主| 发表于 2013-9-17 08:57:27 | 显示全部楼层

回复:STM8S AWU(活跃停机)功能一打开,过一会儿程序喜欢跑飞

回复第 5 楼 于2013-09-14 15:57:51发表:
库函数的例程如果都能跑飞,可能是你硬件设计上的问题了
硬件问题我也怀疑过,后来我用官方的实验板 STM8-DISCOVERY ,也测试了,还是出现同样的问题,不知道是什么原因。
 
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
2018-11-20
发表于 2014-6-14 06:43:42 | 显示全部楼层

回复:STM8S AWU(活跃停机)功能一打开,过一会儿程序喜欢跑飞

我现在也遇到了这样的情况,你的问题怎么解决的?
回复 支持 反对

使用道具 举报

0

主题

7

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2014-8-26 09:30:31 | 显示全部楼层

回复:STM8S AWU(活跃停机)功能一打开,过一会儿程序喜欢跑飞

mark
回复 支持 反对

使用道具 举报

0

主题

7

回帖

0

蝴蝶豆

初级会员

最后登录
1970-1-1
发表于 2015-3-20 17:34:51 | 显示全部楼层
同样的问题呀,
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版