完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
最近小弟用STM8S103K3又发现一个很奇怪的问题,求FAE和大神们指教//第一种中断格式
INTERRUPT_HANDLER(tiM1_UPD_OVF_TRG_BRK_IRQHandler, 11) //250ms 中断 { disableInterrupts(); 用户程序 TIM1->SR1 = 0xfe; enableInterrupts(); //开中断 } //第二种中断格式 INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11) //250ms 中断 { TIM1->SR1 = 0xfe; disableInterrupts(); 用户程序 enableInterrupts(); //开中断 } //第三种中断格式 INTERRUPT_HANDLER(TIM1_UPD_OVF_TRG_BRK_IRQHandler, 11) //250ms 中断 { TIM1->SR1 = 0xfe; 用户程序 } 由于个人写程序的习惯,以前中断一直用第一种写法。在STM8S103k3上面,他它竟然会连进两次中断,但是第二种和第三种会正常。个人也是刚工作不久,好多问题不明白,群里的大神指导。我以前一直用飞思卡尔的单片机,中断程序用第一种、第二种、第三种都没有问题,从来也没在意,最近调程序出现了问题,才找到了这个原因。 用ST_LINK仿真可以看到,对于第一种写法,第二次进中断是在标志位为0的情况下。小弟刚用STM8S几天,出现了很多问题,求大神们指导下,坛主关心一下小弟。 |
|
相关推荐
2个回答
|
|
没清中断标志
|
|
|
|
STM8S103K3的定时器1中断会连进两次的原因可能有以下几点:
1. 中断优先级设置问题:在STM8S103K3中,定时器1的中断优先级可能与其他中断优先级冲突,导致中断服务程序重复执行。请检查您的中断优先级设置,确保定时器1的中断优先级是正确的。 2. 中断标志位未清除:在中断服务程序中,您需要确保在执行完中断处理后,清除定时器1的中断标志位。在您的代码中,您已经使用了`TIM1->SR1 = 0xfe;`来清除中断标志位,但是如果这个操作没有正确执行,可能会导致中断再次触发。请确保这个操作在每次中断服务程序执行时都能正确执行。 3. 中断使能位未正确设置:请检查您的代码中是否正确设置了定时器1的中断使能位。在STM8S103K3中,定时器1的中断使能位是TIM1_IER_UIE(更新中断使能位)。请确保在初始化定时器1时,正确设置了这个位。 4. 硬件问题:如果以上几点都检查过并确认无误,那么可能是硬件本身存在问题。这种情况下,建议您更换STM8S103K3芯片,或者尝试使用其他型号的芯片进行测试。 5. 软件问题:如果硬件没有问题,那么可能是软件方面的问题。请检查您的代码逻辑,确保没有其他地方错误地触发了定时器1的中断。 综上所述,要解决STM8S103K3定时器1中断连进两次的问题,您需要从中断优先级设置、中断标志位清除、中断使能位设置、硬件和软件等方面进行排查。希望这些建议能对您有所帮助。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1801 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1629 浏览 1 评论
1096 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
735 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1684 浏览 2 评论
1944浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
745浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
580浏览 3评论
602浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
565浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 20:24 , Processed in 1.143678 second(s), Total 82, Slave 65 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号