STM32使用定时器延时
STM32F427 使用定时器T4作为延时定时器
设置如下:主要是预分频设置为90,因为系统APB1的时钟是90Hz
预分频90
#ifndef __DELAY_H__
#define __DELAY_H__
#include "stdint.h"void delay_us(uint32_t us);
void delay_ms(uint32_t us);#endif
C文件
#include "delay.h"
#include "main.h"#include "stdio.h"
extern TIM_HandleTypeDef htim4;
//使用一个定时器延时1us
void delay_us(uint32_t us)
{if(us>65535){ us=65535;printf("%s %d param us is overrun \r\n",__FILE__,__LINE__);}//计数器清零__HAL_TIM_SET_COUNTER(&htim4,0);//设置重载值,也就是需要计数的最大值__HAL_TIM_SET_AUTORELOAD(&htim4,us);//开始计数HAL_TIM_Base_Start(&htim4);//等待计数事件到while(!__HAL_TIM_GET_FLAG(&htim4,TIM_FLAG_UPDATE));//清除转态标志__HAL_TIM_CLEAR_FLAG(&htim4,TIM_FLAG_UPDATE);//停止计数HAL_TIM_Base_Stop(&htim4);}
//使用一个定时器延时1ms
void delay_ms(uint32_t ms)
{for(uint32_t i=0;i<ms;i++){delay_us(1000);}}
STM32使用定时器延时相关推荐
- STM32延时函数的四种方法:普通延时(2种)、SysTick 定时器延时(2种)
STM32延时函数的三种方法:普通延时.SysTick 定时器延时(1.中断方式:2.非中断方式) 单片机编程过程中经常用到延时函数,最常用的莫过于微秒级延时delay_us( )和毫秒级delay_ ...
- STM32超声波模块测距串口输出/通用定时器中断并输出PWM控制舵机/系统定时器延时
参考:stm32 超声波模块 原理 实现测距 +舵机使用 作者:点灯小哥 发布时间: 2021-03-10 19:37:16 网址:https://blog.csdn.net/weixin_46016 ...
- STM32系统定时器SysTick(只能向下递减)延时闪烁灯
参考:stm32 系统定时器 SysTick 作者:点灯小哥 发布时间: 2021-03-10 13:46:00 网址:https://blog.csdn.net/weixin_46016743/ar ...
- STM32定时器延时函数
本文用STM32F205芯片中的TIM3为例,写了两种定时器延时函数.本人所知的延时函数方式有3种,通过定时器中断方式的延时函数在本文中暂时不提及.为方便自己记忆,以下均为自己总结,如有错误,欢迎大家 ...
- STM32之定时器中断控制LED闪烁
上篇博客我们是用延时函数实现了LED的闪烁,今天我们使用STM32的定时器来使LED闪烁. 关于32的定时器的种类,今天我在这先不做过多的说明,有时间我会再另写一篇博客来专门介绍32的定时器.今天我们 ...
- STM32 通过定时器产生PPM信号
标题STM32 通过定时器产生PPM信号 说明: 该代码基于STM32F103VET6 和STD标准库实现.若需要在其他单片平台使用需要调整IO,和定时器,底层代码. 定时器要达到us级定时. 实现原 ...
- STM32系统定时器SysTick
1. SysTick系统定时器概述 学习完STM32的中断,下来就要学习STM32的定时器.就像电话最基本的功能是与人通话一样,定时器最基本的功能就是定时(STM32有些定时器的功能强大得超乎想象,当 ...
- stm32入门——定时器中断和中断优先级简介
stm32入门--定时器中断 产生定时中断是定时器的用法之一,与定时器用来进行PWM输出和输入捕获相比,定时器中断更容易理解.掌握. 原理简介 使用通用定时器进行中断的原理,其实和开发板Systick ...
- STM32 us精确延时方式
STM32精确延时方式 使用TIM定时器方式延时 使用空代码方式延时 F103系列 F429系列 本文纯属记录自己学习历程,如有不妥之处,欢迎指正. 使用TIM定时器方式延时 使用STM32CubeM ...
最新文章
- 【Intellij IDEA】eclipse项目导入
- JSON学习笔记(四)- JSON.parse()
- GPS基站架设完整操作流程
- Python小技巧:如何批量更新已安装的库?
- 用浏览器管理 Docker
- 先排序,再限定记录数,然后计算指定字段的总和
- 微信公众号使用LocalStorage解决返回缓存问题
- JSON.toJSONString 出现 {$ref: “$.deduceGridCellVoSet[0].stateFlightsBasic[0]“}
- python安装教程-Python 3.5安装教程
- VS2010轻松学习C#-从零到深入-天轰穿.NET4趣味编程视频教程
- ftp服务器扫描不了文件内容,ftp服务器扫描不了文件
- 中国网络安全硬件平台行业的发展历程以及未来前景
- 通俗易懂专利分类、专利申请流程
- android+实现微信对话框样式,实现微信对话框的图片样式以及图片边框
- php 星际争霸 面向对象,星际争霸之php面向对象(一)
- Quick BI移动端:让数据在更多业务场景中流通
- java Long详解
- MATLAB 散点图(scatter)设置点据透明度
- Qlik Sense 创建 QVD 文件详解(Store)
- vue3定位当前位置,获取当前位置的经纬度
热门文章
- php手册+w3c,W3C 教程
- ASP.NET视图状态解析(本博客仅是自己留着作为存储学习)---选自MSDN
- 日历控件如何切换语言 vant_看看甘特图控件VARCHART XGantt的亮点
- 求离散数据的突变点_数据的离散程度分析1
- 是什么职位_2021国家公务员考试职位表出炉!你真的了解什么是公务员吗?
- Java 算法 特殊的数字四十
- php项目如何导jdbc包,JDBC-idea导入mysql连接java的jar包(mac)的方法
- 时序模型预测结果:DM检验含义与python实现
- 如何查看linux的资源,Linux系统资源查看(示例代码)
- python发送文件到邮箱_python 发送附件至邮箱