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

查看: 12243|回复: 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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版