完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
这一章讲的是STM32F103C8T6定时器配置,定时器配置主要要弄懂的是系统主频多少、你分频多少、你需要定时多长时间。
我们来做一个简单的计算。比如说系统的主频是72M,我们要想得到一个定时时间1S钟的定时器,我们可以通过修改分频系数和计数值来确定。这里我们分频系数设置为(7200-1)这里减1是必须加上的确保计数精确,这样得到分频时钟是10K。我们将计数值设置为10000(10k)这样就能配置成功一个1S钟的定时器。 一、准备工作 1、使用第一章配置好的文件,这里不多说了。大家也可以用自己配置好的工程文件。 2、准备一块stm32f103c8t6最小系统核心板。(杜邦线若干) 二、具体操作 1、在Pinout菜单栏下,定时器的选择与配置。配置如图 这里选择的是TIM1定时器,时钟源选择的是内部时钟。 2、在Clock Configuration菜单栏下,我们要设定外部主时钟,这里第一章说过了我们设定时钟为72M,根据不同芯片可设置不同主频。配置如图 3、在Configuration菜单栏下,点击Control下的TIM1弹出配置界面,配置如图 ①点击Parameter Setting菜单栏 ②设置分频系数 ③设置计数方式为增加计数 ④设置计数值为10000 ⑤打开自动重载计数值 ⑥点击OK 这里注意的是要打开NVIC Setting下的 TIM1的更新中断! 3、生成工程 点击Project菜单栏选择Generate code,工程生成完毕。 4、打开MDK工程,工程里面配置 1)while之前添加定时器中断打开函数 HAL_TIM_Base_Start_IT(&htim1); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ /* USER CODE BEGIN 3 */ } HAL_TIM_Base_Start_IT(&htim1); 2)在Tim.c添加定时器中断回调函数 unsigned int LED = 0; void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { if (htim-》Instance == htim1.Instance) { LED ^= 1; } } 编译下载即可! 5、调试测试 仿真添加监控变量即可看到变量每隔一秒跳转一次。 这样定时器中断配置就完成了!~~~ |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1606 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1538 浏览 1 评论
969 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
681 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1584 浏览 2 评论
1861浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
642浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
514浏览 3评论
528浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
501浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 01:38 , Processed in 0.746384 second(s), Total 48, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号