历史上的今天
今天是:2024年11月07日(星期四)
2019年11月07日 | stm8s_iwdg(独立看门狗)
2019-11-07 来源:eefocus
//内部时钟源128Khz,硬件2分频=64khz
这里写代码片
IWDG_Initializes(); //初始化
IWDG_ReloadCounter(); //喂狗(重载计数值)
初始化流程:
void IWDG_Initializes(void)
{
IWDG_Enable(); //使能看门狗
IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //允许写分频值和重载值
IWDG_SetPrescaler(IWDG_Prescaler_256); //分频值
IWDG_SetReload(250); //重载值(8位寄存器 最大255)
IWDG_ReloadCounter(); //重载计数值
}
这里写代码片
函数体:
void IWDG_Enable(void)
{
IWDG->KR = IWDG_KEY_ENABLE;//0xCC
}
void IWDG_WriteAccessCmd(IWDG_WriteAccess_TypeDef IWDG_WriteAccess)
{
/* Check the parameters */
assert_param(IS_IWDG_WRITEACCESS_MODE_OK(IWDG_WriteAccess));
IWDG->KR = (uint8_t)IWDG_WriteAccess; /* Write Access 0x55 */
}
void IWDG_SetPrescaler(IWDG_Prescaler_TypeDef IWDG_Prescaler)
{
/* Check the parameters */
assert_param(IS_IWDG_PRESCALER_OK(IWDG_Prescaler));
IWDG->PR = (uint8_t)IWDG_Prescaler;
}
void IWDG_SetReload(uint8_t IWDG_Reload)
{
IWDG->RLR = IWDG_Reload;
}
void IWDG_ReloadCounter(void)
{
IWDG->KR = IWDG_KEY_REFRESH;//0xAA
}
/** IWDG prescaler enumaration */
typedef enum
{
IWDG_Prescaler_4 = (uint8_t)0x00, /*!< Used to set prescaler register to 4 */
IWDG_Prescaler_8 = (uint8_t)0x01, /*!< Used to set prescaler register to 8 */
IWDG_Prescaler_16 = (uint8_t)0x02, /*!< Used to set prescaler register to 16 */
IWDG_Prescaler_32 = (uint8_t)0x03, /*!< Used to set prescaler register to 32 */
IWDG_Prescaler_64 = (uint8_t)0x04, /*!< Used to set prescaler register to 64 */
IWDG_Prescaler_128 = (uint8_t)0x05, /*!< Used to set prescaler register to 128 */
IWDG_Prescaler_256 = (uint8_t)0x06 /*!< Used to set prescaler register to 256 */
} IWDG_Prescaler_TypeDef;
史海拾趣
|
以前从没接触过这类芯片。现在要用啊。但又不会。 谁能告诉下我m2716在Proteus中如何加载数据,还有在现实中用什么把数据烧到它里面去? 不甚感谢啊... … 查看全部问答> |
|
当设备与 Visual Studio 机器没有 ActiveSync 连接,但有一个有效的 TCP 连接时,部署无效。 解决办法:使用单独提供的 Keyman 工具来执行初始的设备设置. 我想请问KEYMAN工具是什么,在哪里可以找到它,或者下到它? 谢谢~… 查看全部问答> |
|
几乎所有的电子设计中都会使用到电阻,我稍微提供问题,你知道的电阻有哪些参数指标呢?你敢不敢说个大家都不知道的指标?这个大家现在用的多了也许再过多少年后就看不到这位了… 查看全部问答> |
|
做了个东西用的DHT11温湿度传感器 显示是用的数码管动态扫描 由于执行驱动函数用的时间比较长就把显示函数放在了定时器中断里面 问题出来了 定时器中断把DHT11驱动函数的时序给打乱了 读出来的数据一直在跳动 乱 我在驱动函 ...… 查看全部问答> |
|
Error connecting to the target: (Error -151 @ 0x0) One of the FTDI driver functions used during the connect returned bad status or an error. The cause may one or more of: invalid emulator serial number, blank emulator EEPROM, ...… 查看全部问答> |




