历史上的今天
今天是:2024年11月12日(星期二)
2019年11月12日 | STM8L151x IWDG总结
2019-11-12 来源:eefocus
STM8L的看门狗:
(1) 使用内部的低速时钟(LSI):38K,同时设置了4-256的分频,所以可以设置时间为0.1ms-1724.63ms;
(2)IWDG_KR=0XCC 使能,IWDG_KR = 0XAA喂狗 ,IWDG_KR = 0X55允许访问IWDG_PR(预分频) 和 IWDG_RLR(看门狗初始值)
void IWDG_Init(void)
{
CLK_LSICmd(ENABLE);
while (CLK_GetFlagStatus(CLK_FLAG_LSIRDY) == RESET);
CLK_BEEPClockConfig(CLK_BEEPCLKSource_LSI);
CLK_PeripheralClockConfig(CLK_Peripheral_BEEP, ENABLE);
IWDG_Enable();//记得先使能
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(IWDG_Prescaler_256);
IWDG_SetReload((uint8_t)RELOAD_VALUE);//RELOAD_VALUE=254 1.724s
IWDG_ReloadCounter();
}
固件库里面的程序是:
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
IWDG_SetPrescaler(IWDG_Prescaler_256);
IWDG_SetReload((uint8_t)RELOAD_VALUE);
IWDG_ReloadCounter();
IWDG_Enable();//使能放在后面
这样子试了,先前给的设置的参数都木有用,只要使能大概27ms,就咬人,有利用定时器
另外注意很多前辈说狗狗不能在中断喂养,要在正常的程序中喂养,如果程序跑飞了,有可能跑到中断中。。。。。
上一篇:stm8 调试硬件I2C心得
下一篇:STM8L独立看门狗IWDG
史海拾趣
|
DM642现在停工了,一个是公司也没有这方面的打算,第二是响应的人不多,第三就是花费比较大。做板还是小事,焊接也是自己不能做。如果就是我一个人用,还不如买个来得轻松了。 至于为啥做个6720的板子,第一个是它做板简单,另一个就是我还没有, ...… 查看全部问答> |
|
单片机内程序运行的时候存储空间是如何分配的? 我现对一个程序进行减少片内ram的使用的优化,有一些效果,同时也产生了些疑问,在此向各位大虾请教: 一、现象: 1、我在通过减少全局变量、函数内变量的使用,减少函数间参数传递等手段来优化, ...… 查看全部问答> |
|
请问在调用wait_event_interruptible()后,如果等待的条件一直都不满足,有timer_list 可不可以制定一个超时跳出wait_even 请问在调用wait_event_interruptible()后,如果等待的条件一直都不满足,但是又想在一定时间内返回,该怎么办啦? 我在调用wait_event_interruptible()前加了一个timer_list,(add(timer)),但是好像不管用,超时了还是不跳出sleep。请问需要 ...… 查看全部问答> |
|
定时器3秒执行一次 Invalidate(); UpdateWindow(); 复制代码 整个程序就干这一件事,隔3秒显示一张图片。但是我用wince的系统属性查看正在使用的内存数,隔几分钟就会增长4K,我联系观察了几个小时,很有规律。 void CshowphotoDlg::OnPaint() { ...… 查看全部问答> |




