TIM4定时器功能设置
一、初始化过程
/***********************************************************************
利用TIM4定时器作为计时,每个0.1秒处理一次数据
计算周期的公式为: psc/72*period/1000000 (单位为秒)
************************************************************************/
void TIM2_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_timeBaseStucture;
TIM_OCInitTypeDef TIM_OCInitStructure; u16 period = ; //设置PWM周期值(ARR值)
u16 pluse = ; //设置PWM脉冲宽度值(CRR值) RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE); //使能TIM4时钟 TIM_DeInit(TIM4); //重置TIM4
//配置TIM4时基
TIM_timeBaseStucture.TIM_ClockDivision = TIM_CKD_DIV1; //分频因子
TIM_timeBaseStucture.TIM_Prescaler = -; //预分频
TIM_timeBaseStucture.TIM_CounterMode = TIM_CounterMode_Up; //向上计数
TIM_timeBaseStucture.TIM_Period = period;
TIM_TimeBaseInit(TIM4, &TIM_timeBaseStucture); //配置TIM通道1的PWM输出
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; //PWM输出模式为PWM1
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High; //设置有效电平的极性
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; //使能通道输出PWM
TIM_OCInitStructure.TIM_Pulse = pluse; //设置PWM的脉冲宽度值,即CRR值
TIM_OC1Init(TIM4, &TIM_OCInitStructure); TIM_ARRPreloadConfig(TIM4, ENABLE); //使能TIM3的寄存器ARR的预装载功能,DISABLE时将会使改变ARR值时立即生效
TIM_OC1PreloadConfig(TIM4, TIM_OCPreload_Enable); //使能TIM3通道1的CCR的预装载功能,DISABLE时将回使改变CRR值时立即生效 //使能TIM4定时器
TIM_Cmd(TIM4, ENABLE); TIM_ClearFlag(TIM4, TIM_FLAG_Update); //先清除定时器更新标志位,防止一开启就进入中断处理函数 TIM_ITConfig(TIM4, TIM_IT_Update,ENABLE);
NVIC_EnableIRQ(TIM4_IRQn); }
二、TIM4中断函数
TIM4中断有很多种
void TIM4_IRQHandler(void)
{
if(TIM_GetITStatus(TIM4,TIM_IT_Update)==SET)
{
printf("here happened TIM4 IRQ.\n");
TIM_ClearITPendingBit(TIM4,TIM_IT_Update);
} }
TIM4定时器功能设置的更多相关文章
- Linux使用一个定时器实现设置任意数量定时器功能【转】
转自:https://www.jb51.net/article/120748.htm 为什么需要这个功能,因为大多数计算机软件时钟系统通常只能有一个时钟触发一次中断.当运行多个任务时,我们会想要多个定 ...
- laravel实现定时器功能
前记 laravel实现定时器功能有两种方法: 1. 使用 command . 2. 在闭包函数内写实现的方法. 在这里我比较推荐第一种方法,因为第一种方法把具体的实现抽离出来了,看起来简单且富有 ...
- 定时器_在.net core3.0 webapi中添加自定义定时器功能
前言:想在.net framework环境使用自定义定时器的话,参考我的另一篇文章:https://www.cnblogs.com/lxhbky/p/10242839.html 想在.net core ...
- browserCaps与浏览器功能设置
使用 Web.config 文件中的 browserCaps 元素来定义浏览器的行为在 .NET Framework 2.0 中被否决,但仍受支持.此元素中的数据与浏览器定义文件 (.browser) ...
- TeeChart控件的安装与常用 功能设置
TeeChart控件的安装 TeeChart 7.0 With Source在Delphi 7.0中的安装 一.删除Delphi7自带TeeChart 1.Component -> insta ...
- Eclipse自动补全功能和自动生成作者、日期注释等功能设置
修改作者.日期注释格式:打开Windows->Preferences->Java->Code Style->Code Templates,点击右边窗口中的Comments,可以 ...
- Linux Eclipse代码提示功能设置(Java & C/C++)
最近在Linux下开发,由于长期使用Visual Studio 2010,对代码提示功能情有独钟,现在在Linux下,使用Eclipse做开发,当然免不了怀念Visual Studio强悍的代码提示, ...
- Eclipse代码提示功能设置(Java & Eclipse+CDT C/C++)
http://developer.51cto.com/art/200907/136242.htm http://blog.chinaunix.net/u/21684/showart_462486.ht ...
- WIN8 、WIN7 下IIS7.5、IIS8 的rewrite 伪静态功能设置方法
原文 WIN8 .WIN7 下IIS7.5.IIS8 的rewrite 伪静态功能设置方法 win7和win8系统都自带有iis的功能.关于IIS的安装,上一篇已经讲述,这里就不重复了. 下面说下在w ...
随机推荐
- Oracle参数
v$parameter 显示当前在运行的实例中生效的参数值. v$spparameter 显示磁盘上spfile中存储的值. 通常是相同的. select p.NAME,p.VALUE,p.ISDEF ...
- paper 149:Deep Learning 学习笔记(一)
1. 直接上手篇 台湾李宏毅教授写的,<1天搞懂深度学习> slideshare的链接: http://www.slideshare.net/tw_dsconf/ss-62245351? ...
- Delphi ListView的用法
//增加 i := ListView1.Items.Count; with ListView1 do begin ListItem:=Items.Add; ListItem.Caption:= Int ...
- 禅道安装--结合openldap
原文地址: https://blog.csdn.net/plei_yue/article/details/79075298 ldap结合禅道(需要神道不是开源版) https://www.cnblog ...
- Win7隐藏登录界面中的用户(不建议HOME版使用)
一天一點 能登多高,靠的不是双脚!能看多远,靠的不是双眼!人生路,贵在坚持! Win7隐藏登录界面中的用户(不建议HOME版使用) Win7中如何隐藏不想出现在登录界面中的用户 在Windows系统管 ...
- 2018-2019-2 20175120 实验五《Java网络编程》实验报告
实验报告封面 课程:Java程序设计 班级:1751班 姓名:彭宇辰 学号:20175120 指导教师:娄嘉鹏 实验日期:2019年5月26日 实验时间:13:10 - 15:25 实验序号:20 实 ...
- LintCode之合并排序数组
题目描述: 我的代码: public class Solution { /* * @param A: sorted integer array A * @param B: sorted integer ...
- linux设备驱动第三篇:写一个简单的字符设备驱动
在linux设备驱动第一篇:设备驱动程序简介中简单介绍了字符驱动,本篇简单介绍如何写一个简单的字符设备驱动.本篇借鉴LDD中的源码,实现一个与硬件设备无关的字符设备驱动,仅仅操作从内核中分 ...
- Java学习之包
一.包:就是类的命名空间(在文件系统中的表现形式就是文件夹) 二.代码编写规则 1.写在程序文件的第一行 2.格式:package 包名[.包名1.包名2......] 类的全名称 包名.类名 例如: ...
- css深入理解overflow
1.基本属性 visible(默认值) 超出部分仍然正常显示 hidden 超出后隐藏 scroll 滚动条一致显示 auto 自适应 显示或隐藏滚动条 inherit overflow = ov ...