stm8l101p3u为什么进入halt之后stm8l 看门狗狗不复位

&&&&&&&&&&
STM8L101F2芯片程序破解解密成功
双圆STM8L152K6T及,
STM8L101K3U芯片解密
进入空间>>:
编号:490821
发布人:PCBBOM &&
电子邮件:
公司名称:双圆科技有限公司
地址:深圳市福田区深南中路南光捷佳
网址:www.
联系人:汪小姐
发布时间: 12:50:27
发布人IP:113.89.211.184
所在地区:广东 深圳
分享信息:
提醒:可能发布了违规或非法的信息,该会员的账号已被管理员关闭!
意法半导体(ST)再次扩大8位微控制器的产品阵容,针对工业温度范围,推出基于新一代STM8内核的STM8S系列产品。新系列微控制器整合新一代内核的高速度、处理性能和代码效率,以及多用途外设接口,并具备多项特殊功能,可提高芯片的强轫度和可靠性。片内集成的存储器(包括真EEPROM)可以简化应用仿真。在工业控制和家电应用中,STM8S系列产品可以降低系统成本,缩短应用开发周期,提高处理性能。结合了过去多年单片机设计开发中的领先创新和宝贵经验,STM8S将成为覆盖市场上现有流行的ST5, ST6,ST7和ST9的新产品,采用0.13微米技术工艺,高性价比。
STM8L101F2P解密,
STM8L101F2解密,
STM8L101F3P破解,
STM8L101F3解密,
STM8L101G2解密,
STM8L101G3解密,
STM8L101K3破解,
STM8L101K3U破解,
STM8L151C4T破解,
STM8L151C6T解密,
STM8L151K4T芯片解密,
STM8L151K6T芯片解密,
STM8L152C4T芯片解密,
STM8L152C6T解密,
STM8L152K4T解密,
STM8L152K6T芯片解密,
提供专业单片机MCU、CPLD、SPLD、PLD、DSP解密和各类PC端软件解密,PCB高仿真,PCB/BOM/原理图正向及逆向设计,双面至18层电路板设计工艺等,公司经过13年的摸索实践走出了一条独立的发展道路,先后为几十万家科研院校,企事业单位及个人输出我们的技术及服务产品。目前公司采用国际上最先进的科研尖端设备与最精密的设计工艺实现了产品的稳定,高效让我们所服务的公司获得了最大价值收益,公司现已发展成为国内颇具专业特色,在电子技术行业威望很高,极具影响力的高科技企业。
双圆科技专业从事PCB抄板、PCB克隆、电路板抄板以及BOM清单制作,原理图反推,样机焊接调试,单片机解密,芯片解密等等电子产品服务!;
了解更多请登陆:www.
电话:1  
QQ:   汪工
联系我时请说明是从久久信息网看到的,这样我会给你较大的优惠!
信息由用户自行发布,采用请谨慎,我们鼓励您当面交易。 久久信息网只为传递信息,我们不做任何双方证明,也不承担任何法律责任。 信息转载,请标明来源于。
内&&&&容:&&&STM32单片机看门狗复位后,全局变量的值会怎么处理 - STM32 - 意法半导体STM32/STM8技术社区
后使用快捷导航没有帐号?
查看: 4310|回复: 4
STM32单片机看门狗复位后,全局变量的值会怎么处理
在线时间0 小时
主题帖子精华
初级会员, 积分 194, 距离下一级还需 6 积分
初级会员, 积分 194, 距离下一级还需 6 积分
请教大家,我现在用STM32F103单片机,程序里面在定义全局变量u8 Count=0x0A;在程序函数调用的时候对他进行了赋值操作也就是更改了Count值的大小使其等于0x1A,现在单片机出现了看门狗溢出复位,请问这时候的count值是0x0A还是0x00,或者是0x1A。求解惑!!!
欢迎加入STM32/STM8社区技术交流群:& & &STM32Lxx开发群:
ST金币1153
在线时间123 小时
主题帖子精华
金牌会员, 积分 1878, 距离下一级还需 3122 积分
金牌会员, 积分 1878, 距离下一级还需 3122 积分
RE:STM32单片机看门狗复位后,全局变量的值会怎么处理
在线时间4 小时
主题帖子精华
初级会员, 积分 148, 距离下一级还需 52 积分
初级会员, 积分 148, 距离下一级还需 52 积分
RE:STM32单片机看门狗复位后,全局变量的值会怎么处理
复位后,进入main()你的第一句C语言之前,已经给你搬移好赋值好了。
欢迎加入STM32/STM8社区技术交流群:& & &STM32Lxx开发群:
在线时间0 小时
主题帖子精华
初级会员, 积分 194, 距离下一级还需 6 积分
初级会员, 积分 194, 距离下一级还需 6 积分
回复:STM32单片机看门狗复位后,全局变量的值会怎么处理
这个复制是用语句执行的吗,我的理解看门狗复位直接修改的PC指针,如果复位成初始值请问下这个赋值操作在那边完成,IAR的编译环境里面能直接看到吗
在线时间4 小时
主题帖子精华
初级会员, 积分 148, 距离下一级还需 52 积分
初级会员, 积分 148, 距离下一级还需 52 积分
RE:STM32单片机看门狗复位后,全局变量的值会怎么处理
在启动s文件调用__main 到进入你主程序main()第一行代码的之间。
调试时可以看到,主要是从Flash复制RW区所有变量初始值到RAM中变量分配的位置,清除RAM中所有ZI变量为0。
欢迎加入STM32/STM8社区技术交流群:& & &STM32Lxx开发群:
站长推荐 /1
本课程将涉及前后台系统的设计,详细分析RTOS的基本功能,包括内核调度机制,任务管理,中断管理,任务间的同步与通信机制等。
Tel: 3-8064
备案号: 苏ICP备号-2
|||意法半导体STM32/STM8技术社区
Powered by21ic官方微信-->
后使用快捷导航没有帐号?
查看: 469|回复: 5
求救:STM8S003喂狗后halt,依然被复位
&&未结帖(20)
主题帖子积分
助理工程师, 积分 1505, 距离下一级还需 495 积分
助理工程师, 积分 1505, 距离下一级还需 495 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
助理工程师, 积分 1505, 距离下一级还需 495 积分
助理工程师, 积分 1505, 距离下一级还需 495 积分
看门狗复位时间:0.95S, Halt时间0.5S左右,进入halt前执行喂狗.
问题:运行一段时间(几分钟到几小时不等)后单片机被复位.
//看门狗初始化
void IWDG_config(void)
&&IWDG-&KR = 0xCC;& && && & //启动IWDG& &
&&IWDG-&KR = 0x55;& && &
&&IWDG-&RLR = 0xF0;& && &&&
&&IWDG-&PR = 0x06;& && &
&&IWDG-&KR = 0xAA;& &
void RunInSleep(void)
&&AWU-&APR& &= 30;& && && && &//32分频(4K)
&&AWU-&TBR& &= 0X0C;& && && &//时基选择 定时
&&AWU-&CSR |=0X10;& && && & //使能AWU& && && && && &
&&__asm(&halt&);& && && && && && & //低功耗模式(停机)
&&AWU-&CSR &= ~0X10;& && &&&//禁用AWU& &
IWDG-&KR = 0xAA;&&
//此处工作耗时100uS左右
RunInSleep();
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
助理工程师, 积分 1505, 距离下一级还需 495 积分
助理工程师, 积分 1505, 距离下一级还需 495 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
助理工程师, 积分 1505, 距离下一级还需 495 积分
助理工程师, 积分 1505, 距离下一级还需 495 积分
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
实习生, 积分 18, 距离下一级还需 32 积分
实习生, 积分 18, 距离下一级还需 32 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
实习生, 积分 18, 距离下一级还需 32 积分
实习生, 积分 18, 距离下一级还需 32 积分
你好,玩了一下这个程序,主要是它会进入AWU中断,而中断不处理就老是在里面引起复位。我只读了一下标志并返回就不会复位了。 另外 AWU-&APR& &= 30;& && &&&写的是十进制数,应该是28分频。我的软件AWU时钟来自LSI. 根据ST的手册,用LSI前先校验一下LSI才能比较准确的得到及时,否则时钟有偏差。IWDG 使用LSI 最好多留点余量,毕竟LSI是RC振荡器,不是很精准
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
中级工程师, 积分 4556, 距离下一级还需 444 积分
中级工程师, 积分 4556, 距离下一级还需 444 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 4556, 距离下一级还需 444 积分
中级工程师, 积分 4556, 距离下一级还需 444 积分
用LSI前先校验一下LSI才能比较准确的得到及时,否则时钟有偏差
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
助理工程师, 积分 1505, 距离下一级还需 495 积分
助理工程师, 积分 1505, 距离下一级还需 495 积分
主题帖子积分
专家等级:结帖率:0%
主题帖子积分
助理工程师, 积分 1505, 距离下一级还需 495 积分
助理工程师, 积分 1505, 距离下一级还需 495 积分
你好,玩了一下这个程序,主要是它会进入AWU中断,而中断不处理就老是在里面引起复位。我只读了一下标志并 ...
AWU中断有处理
INTERRUPT_HANDLER(AWU_IRQHandler, 1)
&&AWU_GetFlagStatus();
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
主题帖子积分
中级工程师, 积分 3904, 距离下一级还需 1096 积分
中级工程师, 积分 3904, 距离下一级还需 1096 积分
主题帖子积分
专家等级:结帖率:100%
主题帖子积分
中级工程师, 积分 3904, 距离下一级还需 1096 积分
中级工程师, 积分 3904, 距离下一级还需 1096 积分
喂狗后,就是清理了中断,那就是程序结构问题,比如有中断程序打断了喂狗。
21ic公开课,21ic网友共同的学习圈子!学单片机、嵌入式、模拟、电源……就看这里
移步更多21ic独家微课:
社区建设奖章
等级类勋章
技术高手奖章
人才类勋章
时间类勋章STM8 窗口看门狗(WWDG) STM8应用笔记
STM8 窗口看门狗(WWDG)
以下资料由微雪电子整理并发布,未经许可不得转载,否则追究相应责任!
STM8窗口看门狗介绍
窗口看门狗用于监测由于外部干扰或不可预知的逻辑条件所产生的软件错误,这样的软件错误通常会导致应用程序不按照预期的方式运行。除非程序在递减计数器的T6位变为0之前刷新递减计数器,看门狗电路将在一个预置的时间间隔后产生系统复位;如果在7位的递减计数器数值达到窗口寄存器数值之前刷新递减计数器,同样会产生系统复位。这就意味着只能在一个有限的时间窗口内刷新递减计数器。
WWDG主要功能
●可编程的自由运行递减计数器
●有条件的复位
─如果开启了看门狗,当递减计数器的数值小于0x40时产生复位
─如果开启了看门狗,当在指定的时间窗口之外重加载递减计数器的数值(见图27)时产生复位
●硬件或软件启动看门狗(由选择字节指定)
●可在HALT指令时产生复位(由选择字节配置)
WWDG功能说明
如果开启了看门狗(设置了WDGA=1),当7位的递减计数器(T[6:0]位)从0x40变为0x3F时(即T6变为0),看门狗产生一个复位信号并把复位引脚拉低。如果软件刷新计数器时,计数器的数值大于窗口寄存器中的数值,同样会产生复位。
(图25:STM8窗口看门狗框图)
在正常的操作期间,应用程序必须定期地写入WDGCR寄存器,以避免产生复位;这个写的动作必须在计数器的数值小于窗口寄存器的数值时进行。写入WDGCR寄存器的数值必须是介于0xFF和0xC0之间(见图26):
开启看门狗:
如果(通过选择字节)选择了软件看门狗,在系统复位后看门狗处于关闭状态。设置WDGCR寄存
器中的WDGA位将开启看门狗,随后在下次复位之前将不能关闭看门狗。
如果(通过选择字节)选择了硬件看门狗,看门狗将始终开启,而WDGA位将不起作用。
控制递减计数器:
递减计数器是自由运行计数器:即使未开启看门狗,它依然不断地递减计数。当开启看门狗
时,必须设置T6位以避免立刻产生复位。T[5:0]位中包含了看门狗产生复位前允许的时间延迟(见图26);因为写入WDGCR寄存器时,预分频器的状态是不可知的(见图27),所以这个时间延迟介于一个最小和最大数值之间。
窗口寄存器(WDGWR)的数值是指定窗口的高限:为防止复位,必须在递减计数器的数值小于窗口寄存器的数值并大于0x3F时刷新递减计数器。图27描述了窗口看门狗操作过程。注意:T6位可以用于产生一个软件复位(即设置WDGA位同时清除T6位)
在停止时产生看门狗复位
如果开启了看门狗,并且选择了停止时产生看门狗复位的选项,则执行HALT指令将产生复位。
在停止模式下使用WWDG
如果在选择字节中使能了停止模式下的看门狗(HALT指令不产生看门狗复位),建议在执行HALT指令前先刷新看门狗计数器,以避免在唤醒微控制器后立刻进入不希望的看门狗复位。
如何设置看门狗的超时
下图显示了看门狗计数器(CNT)中的6位数值,与以毫秒为单位的超时时间的线性关系,这个表可以在不考虑时序变化时作为一个快速的粗略计算参考,如果需要更精确的计算,请使用图27的公式。
---------------------------------------------------------------------------------------------------------------------------
警告:每次写入WDGCR寄存器时,首先要置T6位为'1',以避免立刻产生看门狗复位。
---------------------------------------------------------------------------------------------------------------------------
(图26:STM8大约的超时时间)
(图27:STM8窗口看门狗时序图)
WWDG低功耗模式
表28:WWDG在低功耗模式下的影响
等待(Wait)
看门狗不受影响:递减计数器照常工作
停机(Halt)
选择字节中
不产生看门狗复位。微控制器进入停止模式。递减计数器递减一次后停止计数,在微控制器收到一个外部中断或复位之前,它不会再产生看门狗复位。
如果收到了一个中断(参考中断映像表,查看停止模式下可以产生哪些中断),在经过稳定延迟后看门狗将恢复计数。如果系统被复位,除非在选择字节中选择了硬件看门狗,否则看门狗将被关闭。
产生一个复位而不是进入停止模式。
(Active Halt)
不产生复位,微控制器进入Active Halt模式。看门狗计数器停止计数,不再递减。当微控制器收到一个振荡器中断或外部中断,看门狗立刻恢复计数。当微控制器被复位,在经过稳定延迟后看门狗将恢复计数。
硬件看门狗选项
如果在选择字节中选择了硬件看门狗选项,则看门狗始终开启,同时WDGCR寄存器中的
WDGA将不起作用。请参考数据手册中有关选择字节的说明。
在停止模式下使用WWDG
如果开启了看门狗,则建议在停止模式下做如下操作。
在执行HALT指令前先刷新看门狗计数器,以避免在唤醒微控制器后立刻进入不希望的看门狗复位。
控制寄存器(WWDG_CR)
地址偏移值:0x00
复位值:0x7F
WDGA:开启位
该位由软件设置,只能由硬件在复位后清除。当WDGA=1时,看门狗可以产生复位。
0:关闭看门狗
1:开启看门狗
T[6:0]:7位计数器(MSB至LSB)
这些位包含看门狗计数器的数值,每过(大约)12288个fckc_wwdg_ck周期递减一次。当它的内容从0x40变为0x3F(T6被清除)时,则产生一个复位。
(1)如果在选择字节中使能了硬件看门狗功能,则此位不起作用。
窗口寄存器(WWDG_WR)
地址偏移值:0x01
复位值:0x7F
W[6:0]:7位计数器(MSB至LSB)
这些位包含了窗口的数值,这是需要与递减计数器比较的数值。
窗口看门狗寄存器映像和复位数值
(表29:STM8
WWDG寄存器映像和复位值)
STM8 窗口看门狗(WWDG)后使用快捷导航没有帐号?
查看: 6049|回复: 7
关于仿真时看门狗复位问题
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
我刚刚得到了一个仿真器,JLINK
用来仿真stm32f101c8这款片子~我发现了点问题~我跟踪的时候发现,全速运行没有问题。只要我设置断点,程序运行到断点处停下来后,什么也不操作等1秒左右程序就自动复位。单步运行,几段代码后,系统也复位。我先以为是我仿真器的问题,但是后来发现:不是仿真器的时,是看门狗的问题。我在程序运行的时候,如果没有进入设置看门狗这段程序,等多久也不复位,但是如果看门狗初始化完了,不管那段程序,只要停下来,也就是说没有及时喂狗(推测),系统就复位,这是什么原因呀?
为什么设置断点停下来后,看门狗的定时器,没有停下来呀?
不知道是我程序设置的问题还是软件设置的问题,我用的是keil
看门狗程序附上:
void dog_init(uint16 interval)
volatile uint16 wait=0;
//内部低速振荡器开启
RCC-&CSR|=(1&&0);
while(!(RCC-&CSR&(1&&1)));
while(IWDG-&SR);//等待可以写入
//设置看门狗间隔
IWDG-&KR=0x5555;//解锁
if(interval==5)IWDG-&PR=5;//分频器
else if(interval==30)IWDG-&PR=7;//分频器
IWDG-&KR=0x5555;//解锁
if(interval==5)IWDG-&RLR=0x200;//计数器预装载
else if(interval==30)IWDG-&RLR=0xFFF;//计数器预装载
for(wait=0;wait&100;wait++);
//启动看门狗
IWDG-&KR=0xCCCC;
IWDG-&KR=0xAAAA;
&&&&&&&&&&
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
我看到资料上说 stm32 分调试状态和非调试状态~
在调试状态下DBGMCU_CR设置
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
& & & & & & & & & & & & & & & &&&在STM32中,如果要求设置断点停下来后,暂停看门狗的定时器,需要设置DBGMCU_CR中的对应位。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
DBGMCU_CR里面包括了四种计数器的开关~
如果是仿真状态下,是不是应该都设置为停止?
(72.97 KB)
下载次数:0
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
& & & & & & & & & & & & & & & &&&芯片提供了这种机制,你可以根据需要自己选择设置哪一个,或设置所有;我不知道你的具体需求,无法告诉你具体怎么用。
在线时间1 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
& & & & & & & & & & & & & & & &&&具体需求要具体分析
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
这个寄存器应该是由仿真软件来设置的。
不应该由用户程序来处理。
在线时间0 小时
TA的帖子TA的资源
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
一粒金砂(初级), 积分 0, 距离下一级还需 5 积分
这个寄存器应该是由仿真软件来设置的。
不应该由用户程序来处理。
这个寄存器是由开发者设置,但不一定是通过用户程序来处理。
如果开发者希望调试停止时,看门狗的计数器依然工作,则可以通过仿真软件来清除相应的寄存器位;如果开发者希望调试停止时,看门狗的计数器停止工作,则可以通过仿真软件来设置相应的寄存器位;当然这个清除或设置的操作,也可以使用临时的调试程序,即用户程序来处理。
STM32中提供这个寄存器位,就是把调试的选择权交给开发者,你爱怎么用就怎么用,让开发者有充分发挥的余地。
Powered by
逛了这许久,何不进去瞧瞧?

我要回帖

更多关于 stm8l使用rtc唤醒halt 的文章

 

随机推荐