电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

STM32-定时器

36页
  • 卖家[上传人]:206****923
  • 文档编号:88627286
  • 上传时间:2019-05-05
  • 文档格式:PPT
  • 文档大小:1.92MB
  • / 36 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、STM32 定时器,TIMER模块的位置,STM32中一共有8个定时器,其中2个高级控制定时器,4个普通定时器和2个基本定时器。,定时器时钟来源,定时器的时钟不是直接来自APB1或APB2,而是来自于输入为APB1或APB2的一个倍频器。 当APB的预分频系数为1时,这个倍频器不起作用,定时器的时钟频率等于APB的频率;当APB的预分频系数为其它数值(即预分频系数为2、4、8或16)时,这个倍频器起作用,定时器的时钟频率等于APB的频率两倍。,72MHz,72MHz,基本定时器结构,72MHz,065535,065535,工作模式,向上计数模式,相关库函数,恢复初始状态 void TIM_DeInit(TIM_TypeDef* TIMx);,相关库函数,基本配置 void TIM_TimeBaseInit(TIM_TypeDef* TIMx, TIM_TimeBaseInitTypeDef* TIM_TimeBaseInitStruct),typedef struct uint16_t TIM_Prescaler; uint16_t TIM_CounterMode; uint16_t

      2、TIM_Period; uint16_t TIM_ClockDivision; uint8_t TIM_RepetitionCounter; TIM_TimeBaseInitTypeDef;,相关库函数,中断使能 void TIM_ITConfig(TIM_TypeDef* TIMx, uint16_t TIM_IT, FunctionalState NewState),常用库函数,void TIM_Cmd(TIM_TypeDef* TIMx, FunctionalState NewState),常用库函数,ITStatus TIM_GetITStatus(TIM_TypeDef* TIMx, uint16_t TIM_IT),常用库函数,void TIM_ClearITPendingBit(TIM_TypeDef* TIMx, uint16_t TIM_IT),程序设计步骤,定时器基本配置 时钟使能:RCC_APB1PeriphClockCmd 初始化:TIM_DeInit 基本配置:TIM_TimeBaseInit 中断事件设置:TIM_ITConfig 定时器使能:TIM_Cmd

      3、 定时器中断配置 NVIC_PriorityGroupConfig,NVIC_Init 主程序 中断服务程序 TIM6_IRQHandler,定时器基本配置,void TIM6_Configuration(void) TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; /使能时钟 RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE); TIM_DeInit(TIM6); TIM_TimeBaseStructure.TIM_Prescaler = 7199; TIM_TimeBaseStructure.TIM_Period = 9999; TIM_TimeBaseInit(TIM6, ,定时器中断配置,void NVIC_Configuration(void) /嵌套向量中断控制器配置 NVIC_InitTypeDef NVIC_InitStructure; /选择优先级组别 1位抢占优先级 3位子优先级 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1)

      4、; /设置TIM1中断 /1级抢占式优先级,0级副优先级,使能引脚作为中断源 NVIC_InitStructure.NVIC_IRQChannel = TIM6_IRQn; NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; NVIC_Init( ,中断服务程序,void TIM6_IRQHandler(void) if(TIM_GetITStatus(TIM6,TIM_IT_Update)=SET) TIM_ClearITPendingBit(TIM6,TIM_IT_Update); /. ,课堂练习,设计程序,实现定时功能。 思路:定义全局变量Hour,Min,Sec,设置定时器每1s中断1次,主程序循环显示变量,中断服务程序更改变量。,课堂练习,设计程序,实现秒表功能。 思路:定义全局变量Min,Sec,CentiSec,

      5、设置定时器每0.01s中断1次,主程序循环显示变量,中断服务程序更改变量。,高级定时器,高级控制定时器(TIM1 和 TIM8)和通用定时器(TIM2,TIM3,TIM4,TIM5)在基本定时器的基础上引入了外部引脚,可以实现输入捕获和输出比较功能。 高级控制定时器比通用定时器增加了可编程死区互补输出、重复计数器、带刹车(断路)功能,这些功能都是针对工业电机控制方面。,高级和通用定时器通道引脚分布,高级定时器时钟源, 内部时钟源 CK_INT。(72MHz) 内部触发输入ITRx。(x=1,2,3,4) - 来自其他定时器,用于定时器级联。 外部触发输入TIMx_ETR。(x=1,2,3,4,8) 外部输入引脚 TI1FP1,TI2FP2。,触发控制器 对片内外设输出触发信号,比如为其它定时器提供时钟和触发 DAC/ADC 转换。,从模式控制器 控制计数器复位、启动、递增/递减、计数,编码器,定时,计数,时基单元, 预分频器 PSC - 065535 对应 1至65536分频 计数器 CNT 自动重载寄存器 ARR 重复计数器 RCR 高级定时器独有。,typedef struct u

      6、int16_t TIM_Prescaler; uint16_t TIM_CounterMode; uint16_t TIM_Period; uint16_t TIM_ClockDivision; uint8_t TIM_RepetitionCounter; TIM_TimeBaseInitTypeDef;,工作模式,向上计数模式,工作模式,向下计数模式,工作模式,中央对齐模式(向上/向下计数),输出比较,PWM 边沿对齐模式,有效电平,无效电平,PWM输出配置函数,void TIM_OCxInit(TIM_TypeDef* TIMx, TIM_OCInitTypeDef* TIM_OCInitStruct);,typedef struct uint16_t TIM_OCMode; uint16_t TIM_OutputState; uint16_t TIM_OutputNState; uint32_t TIM_Pulse;/捕获脉冲值 uint16_t TIM_OCPolarity; uint16_t TIM_OCNPolarity; uint16_t TIM_OCIdleState;

      7、 uint16_t TIM_OCNIdleState; TIM_OCInitTypeDef;,TIM_OCMode_Timing 输出比较时间模式 TIM_OCMode_Active 输出比较主动模式 TIM_OCMode_Inactive 输出比较非主动模式 TIM_OCMode_Toggle 输出比较触发模式 TIM_OCMode_PWM1 脉冲宽度调制模式 1 TIM_OCMode_PWM2 脉冲宽度调制模式 2,输出使能 TIM_OutputState_Disable TIM_OutputState_Enable,输出使能 TIM_OutputNState_Disable TIM_OutputNState_Enable,有效电平 TIM_OCPolarity_High TIM_OCPolarity_Low,有效电平 TIM_OCNPolarity_High TIM_OCNPolarity_Low,空闲电平 TIM_OCIdleState_Set TIM_OCIdleState_Reset,空闲电平 TIM_OCNIdleState_Set TIM_OCNIdleState_Re

      8、set,蜂鸣器电路,TIM1_CH1,TIM1 PWM输出配置,GPIO引脚配置 使能PA时钟 用GPIO_Init()函数配置PA8为复用推挽输出(GPIO_Mode_AF_PP) TIM基本配置 使能TIM1时钟 TIM_TimeBaseInit(); TIM输出配置 TIM_OC1Init(),注意:不需要中断,void TIM1_Configuration( void ) TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; GPIO_InitTypeDef GPIO_InitStructure; TIM_OCInitTypeDef TIM_OCInitStructure; / 输出比较通道 GPIO 初始化 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA , ENABLE ); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_InitStructure.G

      9、PIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, ,RCC_APB2PeriphClockCmd( RCC_APB2Periph_TIM1 , ENABLE ); / 定时1ms TIM_TimeBaseStructure.TIM_Period = 999; TIM_TimeBaseStructure.TIM_Prescaler = 71; / 时钟分频因子 TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; / 计数器计数模式,设置为向上计数 TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseInit( TIM1 , ,/ 配置为PWM模式1 TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; / 输出使能 TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Disable; / 设置占空比大小 TIM_OCInitStructure.TIM_Pulse = 499; TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;/ 有效电平为高 TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High; /空闲输出低电平 TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset; TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset

      《STM32-定时器》由会员206****923分享,可在线阅读,更多相关《STM32-定时器》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.