找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3823|回复: 4
打印 上一主题 下一主题
收起左侧

stm32外部中断无法触发

[复制链接]
跳转到指定楼层
楼主
      本想用stm32的外部中断来写旋转编码器程序的,但发现外部中断竟然死活不能触发,搞了好几次都没有解决问题,觉得是个很简单的东西,影响心态了。。用的是stm32f103c8t6,原子单片机的例程序改的实验程序,记得之前外部中断测试成功过,不知道现在哪里出了问题。
      麻烦各位高手,看看我这个程序有问题吗,有遗漏或错误吗?(led就是pc13,驱动程序应该没问题,可以亮,但按键不能控制)

exti.c.2.png (66.03 KB, 下载次数: 139)

exti.c.2.png

key.c.png (16.53 KB, 下载次数: 142)

key.c.png

key.h.png (22.69 KB, 下载次数: 150)

key.h.png

main.c.png (22.63 KB, 下载次数: 151)

main.c.png

exti.PNG (4.46 KB, 下载次数: 138)

exti.PNG

IMG_20210319_125509.jpg (858.49 KB, 下载次数: 158)

IMG_20210319_125509.jpg
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:752974 发表于 2021-3-20 08:38 | 只看该作者
中断初始化中是:LINE0;中断服务程序中是LINE1,仔细看看!
回复

使用道具 举报

板凳
ID:725922 发表于 2021-3-20 12:48 | 只看该作者
munuc_w 发表于 2021-3-20 08:38
中断初始化中是:LINE0;中断服务程序中是LINE1,仔细看看!

哦,那个确实是一个错误,改来改去改错了。但是我现在改成了LINE0,还是没有我想要的结果,PC13的灯始终常亮。
回复

使用道具 举报

地板
ID:725922 发表于 2021-3-21 22:43 来自手机 | 只看该作者
真是太菜了,找到问题了。。不是中断没触发,而是程序根本没进while运行起来(看来在while里应加上提示程序正在运行的语句,是一个好习惯)。原因是main函数里没声明delay函数。。造成程序运行不了。真奇怪,keil也没有提示报错,所以好久都没发现。

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

5#
ID:725922 发表于 2021-3-21 22:46 来自手机 | 只看该作者
munuc_w 发表于 2021-3-20 08:38
中断初始化中是:LINE0;中断服务程序中是LINE1,仔细看看!

原因是没初始化delay函数,导致程序根本没运行while()。。真没想到,还是单片机玩的少了。

IMG_20210321_223125.jpg (1.09 MB, 下载次数: 158)

IMG_20210321_223125.jpg

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表