完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
软件:
STM32CubeMX V4.25.0 keil_u5 固件库版本: STM32Cube FW_F1 V1.6.1 硬件: OneNet 麒麟座V1.4 在STM32CubeMX中新建项目,选择正确的MCU型号 首先设置RCC和SYS,如下图 启用TIM1,选择内部时钟源(Internal Clock)。 然后根据板子实际情况设置时钟(麒麟座外部晶振是12M,STM32F103x的最高主频是72M),如下图 GPIO设置 PC7和 PC10为GPIO_OUTPUT, (这是麒麟座V1.4的四个LED管脚其中的两个) 设置其中一个默认为高电平,另一个默认为低电平,User Label分别是LED1和LED4。 设置TIM1,启用中断 由于TIM1是挂在APB2总线上(如何判断当前计时器在哪个总线,文章最后会描述方法),查看时钟树我们知道APB2当前频率为72MHz,我们希望每秒钟发生2次中断,就把预分频系数设置为36000-1,自动重载值为1000-1,得到的计时器更新中断频率即为72,000,000/36000/1000=2Hz。此时定时为0.5秒,若要实现定时1秒,则将1000改为2000 点击任务栏的生成代码图标 8、生成工程,并添加相关程序; 首先,main.c程序中添加(放置于定时器配置之后)开启 TIM1计时中断; /* USER CODE BEGIN 2 */ /*使能定时器1中断*/ HAL_TIM_Base_Start_IT(&htim1); /* USER CODE END 2 */ 其次,在 tim.c文件中添加定时器中断完成回调函数; /* USER CODE BEGIN 1 */ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){ if (htim-》Instance == TIM1){ /* Toggle LED */ HAL_GPIO_TogglePin(LED1_GPIO_Port,LED1_Pin); HAL_GPIO_TogglePin(LED2_GPIO_Port,LED2_Pin); } } /* USER CODE END 1 */ |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1750 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1608 浏览 1 评论
1049 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1665 浏览 2 评论
1924浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
709浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
559浏览 3评论
583浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
544浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-18 10:24 , Processed in 0.749088 second(s), Total 47, Slave 40 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号