STM32F769NI-Discovery开发笔记(三)TIM定时器
开发环境:
开发板:STM32F769NI-Discovery
KEIL版本:5.33
STM32CubeMX版本:6.3.0
本篇主要讲STM32F769NI的定时器的实现,前面涉及到的外设配置本篇不在重复说明
不同的TIM功能不同,本篇只讲基础的定时器功能,所以只使用TIM6,详情请查看Reference manual
根据参考手册得出TIM6是挂在APB1的时钟下

根据系统时钟的配置得出当前APB1的tim时钟为108Mhz

配置TIM6定时器10ms触发一次的中断
定时器触发时间计算
1/(108000000/(107+1)/(9999+1) ) 单位s

开启TIM6中断服务,中断优先级根据自己需求更改

配置完成后生成代码
代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 | //定义定时器计数变量 uint16_t Tim6Count = 0; //定时器回调函数 void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if (htim == &htim6) { //10ms定时器计数,1s进行LED2反转 if (Tim6Count < 100) { Tim6Count++; } else { Tim6Count = 0; HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin); } }<br>} int main( void ) { /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); MX_DMA_Init(); MX_USART1_UART_Init(); MX_TIM6_Init(); /* USER CODE BEGIN 2 */ //config uart reveive buff HAL_UART_Receive_DMA(&huart1,&RxBuff, sizeof (RxBuff)); //开启TIM6定时器 HAL_TIM_Base_Start_IT(&htim6); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ //sys running state led HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin); HAL_Delay(200); } /* USER CODE END 3 */ } |
至此,TIM6定时器功能完成啦
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具