历史上的今天
今天是:2024年09月16日(星期一)
2018年09月16日 | STM3的TIM4定时器功能设置
2018-09-16 来源:eefocus
一、初始化过程
/***********************************************************************
利用TIM4定时器作为计时,每个0.1秒处理一次数据
计算周期的公式为: psc/72*period/1000000 (单位为秒)
************************************************************************/
void TIM2_Config(void)
{
TIM_TimeBaseInitTypeDef TIM_timeBaseStucture;
TIM_OCInitTypeDef TIM_OCInitStructure;
u16 period = 1000; //设置PWM周期值(ARR值)
u16 pluse = 5000; //设置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 = 7200-1; //预分频
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中断函数
void TIM4_IRQHandler(void)
{
if(TIM_GetITStatus(TIM4,TIM_IT_Update)==SET)
{
printf("here happened TIM4 IRQ.\n");
TIM_ClearITPendingBit(TIM4,TIM_IT_Update);
}
}
史海拾趣
|
Error:Non-input node'txd' assigned to dedicated input是什么意思? Error:Non-input node\'txd\' assigned to dedicated input是什么意思?… 查看全部问答> |
|
雪崩光电二极管是一种高灵敏度、高速度的光电二极管。施加反向电压时,能启动其内部的增益机构。APD的增益可以由反向偏置电压的幅度来控制。反向偏置电压越大增益就越高。APD在电场强度的作用下工作,光电流的雪崩倍增类似于链式反应。APD应用于对 ...… 查看全部问答> |
|
背景:想把SMD解密卡嵌到PCB板上,此SMD的接口是SDIO方式的。 问题:SDIO接口一般使用几条线呀,都输出什么信号。 例如: SPI接口一般使用4条线:串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从 ...… 查看全部问答> |
|
我们做的这个项目要求连四路摄像头到开发板上,我们打算用交换机连在开发板上的网络口,然后通过交换机引出四个摄像头,这个方案我们需要做些什么啊,没有思路。摄像头指令怎么发啊。大家谁做过分享一下经验,有没有这方面的例子啊。在 ...… 查看全部问答> |
|
获取电池电量函数问题GetSystemPowerStatusEx2 我查了我的sdk里已经包含了Coredll.lib和Winbase.h,为什么我在EVC里调用GetSystemPowerStatusEx2函数,编译时说没有定义呢,头文件我已经加了的… 查看全部问答> |
|
软件开发与软件工程联盟群成员列表 本帖被 supersoft 从 软件开发与软件工程社区管理版块 移动到本区(2007-03-08) 联盟群宗旨:建设合谐型软件开发与工程的社区-程序员的社区 社区主页:http://supersoft.ttsite.com 计算机专业书讯交流(计算机 ...… 查看全部问答> |
|
怎样在Linux里面通过C语言程序了,输出嘟嘟的报警声??? 在做一个网络传输的项目,功能是在收到网络消息的时候,在屏幕上面打印出消息的同时,可以听到报警提示的声音。大家有什么好的方法吗??… 查看全部问答> |
|
【视频分享】使用TI C2000 MCU设计EPS电子控制单元ECU 简介:电子控制单元ECU是汽车电动助力系统EPS最核心的组成部分,本视频为您介绍如何用TI 的C2000 系列 MCU 来设计电动助力系统EPS中的电子控制单元ECU部分。更多请点击TI官网:www.ti.com.cn $(\'swf_NzZ\').innerHTML=AC_FL_RunContent(\ ...… 查看全部问答> |




