外部中断和定时器中断问题

2019-07-21 06:38发布

本帖最后由 ycgxy1650601 于 2018-4-2 20:29 编辑

单片机板:STM32F1精英版;
外部中断1:IO口为PC1;初始化程序为EXIT_Init();
定时器3:IO口为PB1;初始化程序为TIM3_PWM_Init();
问题描述:EXIT_Init() 和 TIM3_PWM_Init() 两个函数在程序中互为前后,结果不一样;
1.EXIT_Init() 在 TIM3_PWM_Init() 前面,外部中断和定时器中断都能实现;
2.EXIT_Init() 在 TIM3_PWM_Init() 后面,外部中断不能实现,定时器中断能实现;(更改抢占和响应优先级没有效果)
为什么会出现这种情况,有遇到的给点提示呗。



注意:代码见四楼

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
ycgxy1650601
1楼-- · 2019-07-22 05:02
本帖最后由 ycgxy1650601 于 2018-4-3 09:19 编辑
Electronic 发表于 2018-4-3 08:11
你把时钟打开,另外就是需要注意就是结构体变量是否全部初始化,如果没有初始化有出现莫名奇妙的问题

不好意思,PC1初始化忘记贴出来(已经更新,见四楼)
ycgxy1650601
2楼-- · 2019-07-22 05:10
 精彩回答 2  元偷偷看……
ycgxy1650601
3楼-- · 2019-07-22 05:28
确实与管脚初始化有关;GPIO_Init1()函数是管脚PC1初始化,EXIT_Init()函数是中断初始化,这两个函数应该连在一起。之前犯错就是因为没有连在一起使用。
Verney
4楼-- · 2019-07-22 09:44
受教了,谢谢

一周热门 更多>