完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
定时器简介
STM32F429单片机有许多定时器Timer,主要分成三类,基本定时器;通用定时器和高级定时器。三种类型的定时器功能由少变多,高级定时器包含了低级定时器的功能。 基本定时器:TIM6、TIM7 通用定时器:TIM2、TIM3、TIM4、TIM5、TIM9~TIM14 高级定时器:TIM1,TIM8 注:图中的接口接口时钟就是总线时钟。 定时器最基本的功能就是定时,三种类型的定时器都包含定时功能,今天只讲述如何利用HAL库方法实现利用定时功能点亮LED灯。 定时功能主要有三种方式: 递增计数:计数器从0计数到自动加载值(TIMx_ARR),然后重新从0开始计数并且产生一个计数器溢出事件 递减计数:计数器从自动装入的值(TIMx_ARR)开始向下计数到0,然后从自动装入的值重新开始,并产生一个计数器向下溢出事件。 递增/减计数:计数器从0开始计数到自动装入的值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器溢出事件;然后再从0开始重新计数。 此处引用Z小旋的图片: 定时时间计算公式为: arr为计数值,psc为定时器分频系数,Tclk一般设定为最大工作频率,其中psc和arr可以自己设定,tclk为定时器时钟,也就是第一个图的最后一列。 举个栗子: 以stm32f429为例,假如想利用TIM2定时500ms,TIM2位于APB2总线上,其定时器时钟为90Mhz,为了方便计算,psc一般设定为Tclk*100-1,也就是8999,这样arr的设定值为定时时间*10-1,也就是499,单位为ms。 假如使用103单片机,定时100ms,那么arr=999(1000-1),psc=7199(7200-1),tclk=72M。注意单位Tout为ms,tclk为Mhz 利用定时器点亮LED 打开stm32Cubemx,创建新工程,芯片型号选择STM32F429IG 配置RCC为外部高速时钟(HSE)。 配置定时器TIM2,选择时钟源为内部时钟,配置计数方式,arr和psc以及是否重装载,并使能中断。 Clock Source:选择时钟源(Internal Source) Prescaler:PSC定时器分频系数 (17999 ) Counter Mode:计数模式( UP:递增计数) Counter Period:自动重装载值(4999) auto-reload preload:是否开启重装载(Enable) 只需设置上述四个选项即可,其余设置和本程序无关,保持默认即可。 设置时钟树 选择外部时钟HSE 8MHz PLL锁相环倍频180倍 系统时钟来源选择为PLL 设置APB1分频器为 /2 这时候定时器的时钟频率为90Mhz 配置GPIO口 我的板子LED连接的端口是PF6,找到PF6,并设置output模式 配置GPIO口的相关参数 设置输出电平,参照自己板子的电路图,我的是低电平点亮 设置输出模式 设置上/下拉 设置输出速度 设置用户标签 生成程序 设置工程名称 设置路径 选择编译器 设置库函数版本 其余设置保持默认 点击GENERATE CODE生成代码 开启TIM2中断 HAL_TIM_Base_Start函数在stm32f4xx_hal_tim.h文件中 在TIM.c中添加中断回调函数 /* Includes ------------------------------------------------------------------*/#include “tim.h”/* USER CODE BEGIN 0 */void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){ if (htim == (&htim2)) HAL_GPIO_TogglePin(GPIOF, GPIO_PIN_6);}/* USER CODE END 0 */ 大功告成 |
|
|
|
只有小组成员才能发言,加入小组>>
4360个成员聚集在这个小组
加入小组3290 浏览 0 评论
航顺(HK)联合电子发烧友推出“近距离体验高性能Cortex-M3,免费申请价值288元评估板
4234 浏览 1 评论
4242 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-24 18:15 , Processed in 0.610153 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号