参考GIT:
STM32--软看门口--不需要任何硬件支持--它在IC里面已经集成了。(算是独立看门狗的误解吧)
一个倒计数,减减减减减减,减到0就会触发一个系统复位信号也就是单片机重启了。
喂狗呢?就是隔一段时间就给这个倒计数重现装载数据,保持它不要到0.
头文件:
#ifndef _WDG_H_
#define _WDG_H_
void watch_dog_init(void);
void feed_dog(void);
#endif
实现:
#include "stm32f10x_iwdg.h"
#include "wdg.h"
void watch_dog_init(void)
{
IWDG_WriteAccessCmd(0x5555);
IWDG_SetPrescaler(IWDG_Prescaler_256);
IWDG_SetReload(0x0fff);
IWDG_Enable(); //Time_out=4095*128/40k = 12.8 sec.
}
void watch_dog_start(void)//这个函数没有用 基本就是初始化 就有狗了 看上面
{
IWDG_Enable();
}
void feed_dog(void)
{
IWDG_ReloadCounter();
}
OK拿去玩儿吧。
调用
void watch_dog_init(void);
以后你看看,如果你不循环喂狗的话就会。。。12S重启一次。
关键字:STM32 独立看门狗 硬件支持
引用地址:
STM32独立看门狗:你看狗都独立了
推荐阅读最新更新时间:2024-10-31 11:35
stm32使用fsmc总线驱动彩屏(基于神舟三号)
使用fsmc总线驱动彩屏的特点是速度快,与使用IO口模拟的时序的做法相比,FSMC稳定性好,缺点是配置复杂,较难理解。现将配置步骤总结如下: 1.配置引脚 配置函数如下: void LCD_CtrlLinesConfig(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_FSMC, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE |
[单片机]
STM32 USART 串口简单使用
STM32 的库实在强大~!函数长的像句子...... 好了开始了: 使用查询方式的USART: 设置时钟: RCC_APB2Periph_AFIO功能复用IO时钟 RCC_APB2Periph_GPIOAGPIOA时钟 RCC_APB2Periph_USART1 USART1时钟 你可以用 //使能串口1,PA,AFIO总线RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO|RCC_APB2Periph_USART1,ENABLE); 或直接 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AL
[单片机]
GPIO的描述和配置
首先介绍stm32的GPIO,这是入门的起点,也是最容易上手的部分。 一、GPIO的综合描述 stm32每一个GPIO端口拥有2个32bits的configuration寄存器(GPIOx_CRL,GPIOx_CRH),2个32bits的数据寄存器(GPIOx_IDR,GPIOx_ODR),1个32bits的set/reset寄存器(GPIOx_BSRR),1个16bits的reset寄存器(GPIOx_BRR)和1个32bits的Lock寄存器(GPIOx_LCKR)。 (一)每一个IO引脚都可以使用软件配置为以下几种模式: 1. 浮空输入 2. 带上拉输入 3. 带下拉输入 4. 模拟输入 5. 开漏输出——
[单片机]
STM32各种头文件No such file or directory的解决方法
初学STM32经常学习会网上找的例程,或是买的开发板带的例程等等,经常在编译的时候遇到 ..Userstm32f10x_it.c(26): error: #5: cannot open source input file stm32_eval_sdio_sd.h : No such file or directory 等等,打不到某个头文件的编译错误。而网上大多数都会提到是工程设置的问题,路径设置不正确,无法找到文件等等。因为这个小问题也折腾了些时间,现在头脑还算清醒,记录下来。 1.首先,一定要清晰的了解工程设置路径的含义,为什么要设置这个路径而不是别的?出于什么原因设置的?答:工程设置的路径是在搜索*.h文件。
[单片机]
STM32学习笔记一一PWM 输出
1.PWM 简介 脉冲宽度调制(PWM),是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。即对脉冲宽度的控制。 STM32 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也能同时产生多达 4路的 PWM 输出,这样,STM32 最多可以同时产生 30 路 PWM 输出! 2.相关寄存器 除了定时器章节介绍的几个寄存器( ARR、PSC、 CR1 等) 外,还会用到 4 个寄存器(通用定时器则只需要 3 个),来控制 PWM 的输出。这四个寄存器分别是:捕获/比较模式寄存器( TIMx_CCMR
[单片机]
stm32库函数FSMC_NORSRAMInit()解析
这是一段对nor存储器的时序进行编程的函数,函数形式为void FSMC_NORSRAMInit(FSMC_NORSRAMInitTypeDef* FSMC_NORSRAMInitStruct),里面只有一个参数,这个参数为指针类型,指向一段数据结构,这个数据结构就保存着对时序进行配置的的各个参数,这个结构的详细内容为 typedef struct { uint32_t FSMC_Bank;//nor被分为四块,其中这个参数是说明对那个块编程 uint32_t FSMC_DataAddressMux;//地址数据是否复用 uint32_t FSMC_MemoryType;//存储器类型 uint3
[单片机]
基于STM32的旋转编码器
..\..\SYSTEM\usart\usart.c(1): error: #5: cannot open source input file sys.h : No such file or directory #include ..\sys\sys.h 这样就可以找到路径了 再次编译出现了问题 ..\..\SYSTEM\usart\..\sys\sys.h(3): error: #5: cannot open source input file stm32f10x_lib.h : No such file or directory没有stm32f10x_lib.h这个库函数 怎么办??? 上网查了很多资料,都
[单片机]
STM32项目(三)——通用LIN控制器
需求: LIN马达控制器:AFS(DHL+AFL)——弯道辅助照明系统 DHL:上极限,下极限,零位,马达老化循环; AFL:左极限,右极限,零位,马达老化循环; 所有参数可配置:上极限,下极限,零位,左极限,右极限,马达循环上极限,马达循环下极限,马达循环次数,马达循环等待时间; 保存至少30款产品的配置,配置界面需要有添加,读取,查找,删除功能。 方案:STM32 + LIN + 串口(使用NXP的串口屏,TJA系列的LIN芯片) STM32的LIN接口作为主节点,马达作为从节点。 系统设计:RTX多任务设计,串口处理任务,显示屏处理任务,LIN发送任务; (1)、串口处理任务:点击串口屏会获取到点击的坐标值,串口中断接受
[单片机]