推荐阅读最新更新时间:2024-11-10 13:06
stm32 低功耗下使用看门狗(不喂狗)
在项目中需要低功耗处理,而使用看门狗可以保证程序不会跑死。但使用看门狗有一个问题,打开看门狗以后关闭不了,必须一直喂狗进行操作,那有啥好的办法呢?狗是必须养的,养这条狗花费了我半天时间,在此记录。 我能想到的有两种方案: 一、 使用独立看门狗,在低功耗下唤醒进行喂狗操作后继续休眠。 该方法可以通过增大看门狗的时钟分频,最大256分频,即可达到最大限度的喂狗时间,如果按照40K的时钟来算,(1 / (40K / 256)) * 4096 = 26.2144S, 在二十多秒起来喂狗在功耗方面可以接受,这种方法比较简单,不过二十多秒需唤醒一次。 二、利用复位关闭看门狗,在低功耗下不进行喂狗操作 使用的前提是需要判断复
[单片机]
正点原子stm32模拟IIC
#ifndef __MYIIC_H #define __MYIIC_H #include sys.h ////////////////////////////////////////////////////////////////////////////////// //本程序只供学习使用,未经作者许可,不得用于其它任何用途 //Mini STM32开发板 //IIC 驱动函数 //正点原子@ALIENTEK //技术论坛:www.openedv.com //修改日期:2010/6/10 //版本:V1.0 //版权所有,盗版必究。 //Copyright(C) 正点原子 2009-2019 //All rig
[单片机]
STM32定时器输出比较模式中的疑惑
OCx与OCxREF和CCxP之间的关系 初学STM32,我这个地方卡了很久,现在终于有些明白了,现在把我的理解写下与大家共享,如果有不对的地方,还请指出。 OCxREF就是一个参考信号,并且约定: OCxREF=1,称OCxREF有效。反之,OCxREF=0,称OCxREF无效; ‘1’电平(高电平)称为OCxREF的有效电平,‘0’ 电平(低电平)称为OCxREF的无效电平。 ——依据参考手册:The output stage generates an intermediate waveform which is then used for reference:OCxRef (active high). The polari
[单片机]
关于Stm32定时器+ADC+DMA进行AD采样的实现
注:此STM32单片机为STM32F103系列的 Stm32的ADC有DMA功能这都毋庸置疑,也是我们用的最多的!然而,如果我们要对一个信号(比如脉搏信号)进行定时采样(也就是隔一段时间,比如说2ms),有三种方法: 1、使用定时器中断每隔一定时间进行ADC转换,这样每次都必须读ADC的数据寄存器,非常浪费时间! 2、把ADC设置成连续转换模式,同时对应的DMA通道开启循环模式,这样ADC就一直在进行数据采集然后通过DMA把数据搬运至内存。但是这样做的话还得加一个定时中断,用来定时读取内存中的数据! 3、使用ADC的定时器触发ADC转换的功能,然后使用DMA进行数据的搬运!这样只要设置好定时器的触发间隔,就能实现ADC定时采样转换
[单片机]
STM32菜鸟成长记录---普通定时器应用
一、STM32通用定时器原理 STM32 系列的CPU,有多达8个定时器,其中TIM1和TIM8是能够产生三对PWM互补输出的高级定时器,常用于三相电机的驱动,它们的时钟由APB2的输出产生。其它6个为普通定时器,时钟由APB1的输出产生。 下图是STM32参考手册上时钟分配图中,有关定时器时钟部分的截图: 从图中可以看出,定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器,图中的蓝色部分。 下面以通用定时器2的时钟说明这个倍频器的作用:当APB1的预分频系数为1时,这个倍频器不起作用,定时器的时钟频率等于APB1的频率;当APB1的预分频系数为其它数值(即预
[单片机]
基于STM32的智能循迹小车
1、小车架构 (1)车架: 车架是淘宝上买的双层亚克力的两轮小车,配备了两个直流电机,两个驱动轮,两个辅助万向轮,一个两节的电池盒,这些东西淘宝上很多都是打包售卖的。 底部照片 正面照片 (2)电源模块 电源模块 电源模块采用的是两节高电压的5号可充电电池(没节电池3.2V),由于手上没有DC线,干脆直接将电池盒连上了两根飞线插在面包板上,然后又将DC接口下面的正负极引脚焊接了两根公对公的杜邦线然后插在面包板上,这样就可以直接利用电池给这块HW-131面包板供电模块供电了。这块供电模块内置稳压芯片可以输出多路的3.3V和5V的电压,这样就正好可以解决电机和循迹班5V供电的问题啦。 (3)驱动板 驱动板 非常尴尬,不会
[单片机]
STM32—IWDG独立看门狗的使用
STM32---IWDG独立看门狗的使用 独立看门狗(IWDG)由专用的40kHz的低速时钟驱动, 即使主时钟发生故障它也仍然有效。 窗口看门狗由从APB1时钟分频后得到的时钟驱动, 通过可配置的时间窗口来检测应用程序非正常的过迟或过早的操作。 IWDG最适合应用于那些需要看门狗作为一个在主程序之外, 能够完全独立工作,并且对时间精度要求较低的场合。 WWDG最适合那些要求看门狗在精确计时窗口起作用的应用程序。 IWDG主要性能 ●自由运行的递减计数器 ●时钟由独立的RC振荡器提供(可在停止和待机模式下工作) ●看门狗被激活后,则在计数器计数至0x000时产生复位 在键寄存器(IWDG_KR)中写入0xCC
[单片机]