完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
今天学习定时器,前面我们做LED灯闪烁是在主程序的while循环里实现的,今天我们把闪烁部分放入定时器的中断函数里。今天使用LED1,电路原理图如下:
Step1.打开 STM32CubeMX,点击“New Project”,选择芯片型号,STM32F412ZGTx。
Step2.在 Pinout 界面下配置 PB0 为输出模式,并输入用户标签 LD1。
Step3.配置 tiM1,使用内部时钟源。
Step4.配置时钟树,在此使用100MHz。
Step5.配置 TIM1 参数和 GPIO 的参数。 在 configuration 界面中点击 TIM1 按钮,可以进入参数配置界面。 在 Parameter Settings 页配置预分频系数为 49999,计数周期(自动加载值)为 999,定时器溢 出频率就是 100MHz/(49999+1)/(999+1) = 2Hz。
在 NVIC 页面使能 TIM1 的更新中断。 Step6.生成源代码。 点击生成源代码按钮。
在设置界面中输入工程名,保存路径,工程 IDE 类型,点 OK 即可。
生成代码完成后可直接打开工程。 Step7.添加功能代码。 在 main 文件/* USER CODE BEGIN 4 */和/* USER CODE END 4 */注释之间加入下面代码。
在 main 凼数的 while(1)之前启动 TIM1 并使能其中断功能。
|
|
相关推荐
3 个讨论
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2810 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2420 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2288 浏览 0 评论
2404 浏览 1 评论
1643 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-2 12:49 , Processed in 0.515357 second(s), Total 40, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
4507