STM32之TIMER基本定时器应用
定时器溢出时间 Tout= ((arr+1)*(psc+1))/Tclk
相关结构体
typedef struct
{
uint16_t TIM_Prescaler; /*!< 计数分频值 */uint16_t TIM_CounterMode; /*!< 计数模式 */
uint16_t TIM_Period; /*!< .周期 */
uint16_t TIM_ClockDivision; /*!< 定时器系统分频数*/
uint8_t TIM_RepetitionCounter; /*! . 重复计数*/
} TIM_TimeBaseInitTypeDef;
typedef struct
{
uint8_t NVIC_IRQChannel; /*!< 中断通道*/uint8_t NVIC_IRQChannelPreemptionPriority; /* 主优先级*/
uint8_t NVIC_IRQChannelSubPriority; /*! 子优先级 */
FunctionalState NVIC_IRQChannelCmd; /* 中断命令:使能或禁止 */
} NVIC_InitTypeDef;
//应用示例
/通用定时器3中断初始化
//这里时钟选择为APB1的2倍,而APB1为36M
//arr:自动重装值。
//psc:时钟预分频数
//这里使用的是定时器3!
void TIM3_Int_Init(u16 arr,u16 psc)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE); //时钟使能
// 1. 定时器TIM3属性配置初始化
TIM_TimeBaseStructure.TIM_Period = arr; //设置在下一个更新事件装入活动的自动重装载寄存器周期的值
TIM_TimeBaseStructure.TIM_Prescaler =psc; //设置用来作为TIMx时钟频率除数的预分频值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; //设置时钟配置1分频
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; //TIM向上计数模式
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); //根据指定的参数初始化TIMx的时间基数单位
TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE ); //使能指定的TIM3中断,允许更新中断// 2. 中断优先级配置
NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn; //TIM3中断
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0; //先占优先级0级
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3; //从优先级3级
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道被使能
NVIC_Init(&NVIC_InitStructure); //初始化NVIC寄存器
TIM_Cmd(TIM3, ENABLE); //使能TIMx
}
//定时器3中断服务程序
void TIM3_IRQHandler(void) //TIM3中断
{
if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) //检查TIM3更新中断发生与否
{
TIM_ClearITPendingBit(TIM3, TIM_IT_Update ); //清除TIMx更新中断标志
LED1=!LED1; //led闪烁
}
}
应用:
main函数中只调用初始化时钟即可使用(void TIM3_Int_Init(u16 arr,u16 psc))
上一篇:STM32之知其然,知其所以然
下一篇:STM32之ADC应用(基于F1库函数)
推荐阅读
史海拾趣
随着计算机技术的飞速发展,单一的UPS产品已无法满足市场的多样化需求。为此,APC在1989年推出了突破性的电源管理软件(PowerChute®)。这款软件能够智能地管理UPS设备,提供更为精细的电力保护。紧接着,APC又推出了Smart-UPS®系列UPS产品,该产品以其卓越的性能和稳定性,迅速成为评估所有其它网络UPS产品的标准。
Heyco非常重视与合作伙伴的关系建设。2021年,Heyco将年度全球最佳分销商称号授予了电子元器件分销商贸泽电子,以表彰其在过去一年中不懈的努力和出色的销售业绩。这一奖项的颁发不仅体现了Heyco对贸泽电子的高度认可,也展示了双方之间深入、愉快的合作关系。通过与贸泽电子等优秀分销商的紧密合作,Heyco能够更好地服务全球客户,满足其多样化的需求。
在环境问题日益严重的今天,绿色环保已经成为电子产品行业的重要发展趋势。Datakey Electronics积极响应国家号召,致力于绿色产品的研发和生产。公司投入巨资研发环保材料和生产工艺,成功推出了一系列符合环保标准的产品。这些产品不仅满足了客户的需求,还为公司赢得了良好的社会声誉。
Cableform Inc公司起源于一位名叫约翰·卡贝尔的电气工程师的创意。在20世纪中期,约翰看到了电子工业的巨大潜力,特别是在电磁控制领域。于是,在1945年,他创立了Cableform Inc,专注于研发和生产电磁控制设备。起初,公司只有几名员工,面临着资金短缺和技术挑战。然而,约翰凭借着对技术的执着和对市场的敏锐洞察,成功设计出了一款具有竞争力的磁铁控制器,为公司的发展奠定了基石。
随着技术的不断进步,Dynastream公司意识到要想在竞争激烈的市场中立足,必须不断创新。因此,公司加大了研发投入,致力于提高产品的性能和稳定性。经过数年的努力,Dynastream成功推出了一款具有革命性意义的产品——一款高精度、低功耗的个人监视传感器。这一产品的推出,不仅让Dynastream在市场上树立了良好的口碑,也为公司未来的发展奠定了坚实的基础。
随着全球环保意识的提高,Collins Electronics Corp开始关注其生产活动对环境的影响。他们引入了环保材料和生产工艺,减少了废弃物和有害物质的排放。同时,公司还开展了一系列环保宣传活动,提高员工和客户的环保意识。这些举措不仅提升了公司的社会责任形象,也为其赢得了更多消费者的青睐。公司还研发了节能型电子产品,为推动行业的绿色发展做出了贡献。
什么是SAR? SAR: SAR的英文全称为Specific Absorption Rate,中文一般称为电磁波吸收比值或比吸收率。 是手机或 无线产品之电磁波能量吸收比值,其定义为:在外电磁场的作用下,人体内将产生感应电磁场。由于人体 ...… 查看全部问答∨ |
|
Optimized diode design for IGBT's and GCT's switching circuits. Optimized diode design for IGBT\'s and GCT\'s switching circuits.… 查看全部问答∨ |
我开发板上定制的是wince5.0的系统,我用vs2005把我编写的程序部署进去以后,出现了这样的错误: 无法找到:pinvoke dll"sqlceme30.dll" 请问这是怎么回事?使系统定制的问题,还是程序的问题? 急求解决方法!!!!… 查看全部问答∨ |
PB5.0 使用Hive-based Registry功能后系统启动后出现黑屏。 目前情况:已经确定系统能够启动,且启动后按键、USB等都可以使用,屏幕是黑的,看不到WINCE的桌面内容,但是用作USB SERIAL的时候能够跳出连接的对话框(说明LCD是工作正常的),通过 ...… 查看全部问答∨ |
|
------------以下串口发送部分 module uart_tx (clk,rst,tx_data,tx_data_valid,tx_data_ack,txd); -----------敏感变量包括时钟/复位,发送数据,发送数据有效,发送数据响应,发送数据线 output txd; ----------数据 ...… 查看全部问答∨ |