完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
已经在CUBUMX里面配置好中断了,初始化的时候也打开
HAL_tiM_Base_Start( htim1); /[i] 启动定时器中断 /HAL_TIM_Base_Start_IT( htim1);HAL_TIM_PWM_Start( htim1, TIM_CHANNEL_3); HAL_TIM_PWM_Start_IT( htim1, TIM_CHANNEL_3); 就死活进不去,回调函数函数里面就放了个点灯翻转 |
|
相关推荐
2个回答
|
|
在it.c中的TIM1中断函数加断点,看一下是否可以进去。另外,需要注意一下,如果定时器时间太短可能会导致肉眼看不到灯的状态。
|
|
|
|
要确保已经正确配置了定时器1中断,并且已经正确初始化了相应的外设及中断。以下是一些可能的解决方法:
1. 确认中断优先级设置正确:中断优先级必须高于其他优先级的中断和外设。可以通过优先级分组设置来调整中断优先级,确保定时器1中断的优先级高于其他中断。 ``` HAL_NVIC_SetPriority(TIM1_UP_TIM16_IRQn, 0, 0); // 根据实际情况调整 HAL_NVIC_EnableIRQ(TIM1_UP_TIM16_IRQn); ``` 2. 检查定时器中断触发的条件是否满足:包括计数器溢出、更新事件等。如果条件不满足,中断回调函数将不会被触发。 3. 检查是否使用了正确的中断回调函数:根据CUBEMX生成的代码,定时器1中断的回调函数应该是`void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)`,确保在这个函数中实现想要的功能(比如点灯翻转)。 4. 检查是否正确使能了全局中断:使用`__enable_irq()`或`__disable_irq()`函数使能或禁用全局中断。如果全局中断被禁用,中断处理函数将不会被触发。 5. 检查时钟配置是否正确:确保时钟源和分频系数设置正确,以确保定时器计数器正常工作。 如果以上方法都不能解决问题,可以尝试使用调试器跟踪代码以查看运行时的情况,寻找导致无法触发中断回调函数的原因。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1532 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1484 浏览 1 评论
901 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
649 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1528 浏览 2 评论
1841浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
589浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
490浏览 3评论
490浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
471浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-2 19:28 , Processed in 0.718738 second(s), Total 49, Slave 42 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号