OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6285|回复: 64

NVIC中断式按键输入,出了问题,嵌套哪里错了?

[复制链接]

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
发表于 2018-7-30 15:28:21 | 显示全部楼层 |阅读模式
1金钱
想用NVIC做一个中断控制的键盘输入,按一下,led亮灯,再按一下,led熄灭。感觉没问题啊,也不报错,就是不行。led一直是量的,为什么呢?

#include "stm32f10x.h"
#include "led.h"
#include "key.h"
int main()
{
    u8 led_state;
    SystemInit();
    systick_init();
    led_gpio_config();
    key_gpio_config();
    while(1);
}



以下是key.c文件中的代码


#include "key.h"
#include "led.h"
u8 led_on_off;
void key_gpio_config()
{
    GPIO_InitTypeDef GPIO_InitStructure; //定义GPIO 结构体
    NVIC_InitTypeDef NVIC_InitStructure; //定义外部中断结构体
    EXTI_InitTypeDef EXTI_InitStructure; //定义中断控制器结构体
   
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);
    //开启GPIOB和 AFIO(复用端口)时钟
   
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
    GPIO_Init(GPIOC, &GPIO_InitStructure); //初始化 GPIO
    GPIO_EXTILineConfig(GPIO_PortSourceGPIOC, GPIO_PinSource13); //将 PB113 和EXIT_13连接
   
    EXTI_InitStructure.EXTI_Line = EXTI_Line13; //选择EXTI_Line11
    EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; //外部中断模式
    EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; //下降沿出发
    EXTI_InitStructure.EXTI_LineCmd = ENABLE;
    EXTI_Init(&EXTI_InitStructure);
   
    NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); //设置中断组优先级 0
    NVIC_InitStructure.NVIC_IRQChannel = EXTI15_10_IRQn; //PPP 外部中断线
    NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3; //设置抢占优 先级为 3
    NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0; //设置从优先级为 0
    NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
    NVIC_Init(&NVIC_InitStructure);
}
void EXTI15_10_IRQChannel(void)
{
    u16 i,j;
    if(EXTI_GetFlagStatus(EXTI_Line13) != SET) //如果是 EXIT_13 出发的中断,则处理
    {
        for(i = 100; i > 0; i--)
            for( j = 720; j > 0; j--); //延迟一会
                if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == RESET) //消抖
                {
                    led_on_off = led_on_off >= 4 ? 0 : led_on_off + 1;
                }
        if((led_on_off % 2) == 1)
        {
           GPIO_ResetBits(GPIOA, GPIO_Pin_8);
        }
        else
        {
            GPIO_SetBits(GPIOA, GPIO_Pin_8);
        }
    EXTI_ClearITPendingBit(EXTI_Line13);//清除标志
    }
}

最佳答案

查看完整内容[请看2#楼]

我只想说EXTI15_10_IRQHandler才是中断处理函数名
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

19

主题

246

帖子

0

精华

高级会员

Rank: 4

积分
608
金钱
608
注册时间
2017-9-21
在线时间
171 小时
发表于 2018-7-30 15:28:22 | 显示全部楼层
我只想说EXTI15_10_IRQHandler才是中断处理函数名
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 15:31:14 | 显示全部楼层
这个是led和key的电路图
以及和key相接的引脚 捕获2.PNG 捕获.PNG

回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 15:31:38 | 显示全部楼层
为什么led一直是亮着的啊
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 15:31:54 | 显示全部楼层
按键也不产生反应
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-30 15:45:52 | 显示全部楼层
中断不要延迟啊
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 15:56:23 | 显示全部楼层
323232 发表于 2018-7-30 15:45
中断不要延迟啊

这个延迟是为了消除按键抖动啊,用的for循环延迟,没用systicks
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4521
金钱
4521
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-30 15:59:02 | 显示全部楼层
本帖最后由 warship 于 2018-7-30 16:02 编辑

你这个主程序是一个死循环。直接用SYSTICK么?systick_init();有什么用?
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-30 16:01:42 | 显示全部楼层
for(i = 100; i > 0; i--)
            for( j = 720; j > 0; j--);
是多少时间哦

中断周期多少时间哦
猪猪熊呢?
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:07:17 | 显示全部楼层
323232 发表于 2018-7-30 16:01
for(i = 100; i > 0; i--)
            for( j = 720; j > 0; j--);
是多少时间哦

1ms啊,我system_init()了啊,系统设置成72MHz了,这样计数不是正好计到72000,是1毫秒吗?
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:08:03 | 显示全部楼层
323232 发表于 2018-7-30 16:01
for(i = 100; i > 0; i--)
            for( j = 720; j > 0; j--);
是多少时间哦

这个是用来消除按键抖动的啊,1ms消除抖动,不是中断
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-30 16:12:02 | 显示全部楼层
1ms的消抖还不如不要呢
猪猪熊呢?
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:14:55 | 显示全部楼层
323232 发表于 2018-7-30 16:12
1ms的消抖还不如不要呢

可是问不是出在这里啊,这个程序烧进去之后,灯一直是亮的,按键没有反应。中断不知道为什么没有产生。这什么情况啊大佬
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4521
金钱
4521
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-30 16:16:41 | 显示全部楼层
本帖最后由 warship 于 2018-7-30 16:17 编辑

将那么复杂干嘛,PA8是控制灯的么?
把整个这段: if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == RESET) //消抖
                {
                    led_on_off = led_on_off >= 4 ? 0 : led_on_off + 1;
                }
        if((led_on_off % 2) == 1)
        {
           GPIO_ResetBits(GPIOA, GPIO_Pin_8);
        }
        else
        {
            GPIO_SetBits(GPIOA, GPIO_Pin_8);
        }
    EXTI_ClearITPendingBit(EXTI_Line13);//清除标志
换成:
             if(GPIO_ReadInputDataBit(GPIOC, GPIO_Pin_13) == RESET) //消抖
                {
                GPIO_WriteBit(GPIOA, GPIO_Pin_8, (BitAction)((1-GPIO_ReadOutputDataBit(GPIOA, GPIO_Pin_8))));  
                EXTI_ClearITPendingBit(EXTI_Line13);//清除标志

我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:17:46 | 显示全部楼层
warship 发表于 2018-7-30 16:16
将那么复杂干嘛,PA8是控制灯的么?
把整个这段:
             if(GPIO_ReadInputDataBit(GPIOC, GPIO_P ...

PA8是控制灯的
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4521
金钱
4521
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-30 16:19:24 | 显示全部楼层

看上楼,修改一下代码试试
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:23:49 | 显示全部楼层
还是一样。灯一直亮着,按键也没有反应
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-30 16:28:01 | 显示全部楼层
单个的按键例程可以吗?中断进去没有?led_on_off调试观察这个变量的值
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4521
金钱
4521
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-30 16:29:14 | 显示全部楼层
MNK 发表于 2018-7-30 16:23
还是一样。灯一直亮着,按键也没有反应

用原子的流水灯例程,看看硬件控制有没有问题。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:31:17 | 显示全部楼层
323232 发表于 2018-7-30 16:28
单个的按键例程可以吗?中断进去没有?led_on_off调试观察这个变量的值

gpio通用的按键查询方式可以实现按键一下点灯,按键一下熄灭,但是用中断式的按键控制,这个代码不行。。。。
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:31:37 | 显示全部楼层
本帖最后由 MNK 于 2018-7-30 16:33 编辑
warship 发表于 2018-7-30 16:29
用原子的流水灯例程,看看硬件控制有没有问题。

想练习一下使用nvic
回复

使用道具 举报

20

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2015-11-28
在线时间
89 小时
发表于 2018-7-30 16:38:43 | 显示全部楼层
本帖最后由 森海有眼泉 于 2018-7-30 16:41 编辑

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;   
这是几个意思
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);   到底是 GPIOC 还是GPIOB?
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:39:35 | 显示全部楼层
森海有眼泉 发表于 2018-7-30 16:38
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;   
这是几个意思

浮空输入啊
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4521
金钱
4521
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-30 16:39:59 | 显示全部楼层
MNK 发表于 2018-7-30 16:31
想练习一下使用nvic

你这个没有什么NVIC,只有一个按键中断而已。
原子的试验5外部中断试验比你这个练习的东西还多一些。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:40:21 | 显示全部楼层
这个是中断处理函数,中间做了一次延时,我有改了改,能好看一点了
额。。。。。但是还是不知道哪里错了啊

捕获.PNG
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-30 16:40:21 | 显示全部楼层
你这个按键  内部上拉吗?你这个下降沿够不够触发中断?你先调试看看中断进没进去,led_on_off调试看看这个值变没变化
猪猪熊呢?
回复

使用道具 举报

20

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2015-11-28
在线时间
89 小时
发表于 2018-7-30 16:42:06 | 显示全部楼层

你浮空输入干嘛?
回复

使用道具 举报

20

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2015-11-28
在线时间
89 小时
发表于 2018-7-30 16:42:43 | 显示全部楼层
不接上拉 不接下拉 你弄个浮空输入?
回复

使用道具 举报

20

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2015-11-28
在线时间
89 小时
发表于 2018-7-30 16:42:54 | 显示全部楼层
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);    到底是GPIOC 还是GPIOB
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:43:51 | 显示全部楼层
森海有眼泉 发表于 2018-7-30 16:42
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC | RCC_APB2Periph_AFIO, ENABLE);    到底是GPIOC 还是GPIOB

GPIOC啊,这个,哪有出错了?
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4521
金钱
4521
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-30 16:43:59 | 显示全部楼层
本帖最后由 warship 于 2018-7-30 16:45 编辑

http://www.openedv.com/forum.php?mod=viewthread&tid=274724&extra=
这里附有我修改过的外部中断试验代码,功能和你这个类似。
学习之后保证你有不少收获,你的这种编程方法容易走偏。
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

20

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2015-11-28
在线时间
89 小时
发表于 2018-7-30 16:45:05 | 显示全部楼层
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; //下降沿出发   注释和代码都对不上号啊
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:46:29 | 显示全部楼层
森海有眼泉 发表于 2018-7-30 16:45
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising; //下降沿出发   注释和代码都对不上号啊

这个是我当时改的,我以为是下降沿触发不了,所以试了上升沿和双边沿,结果都一样
回复

使用道具 举报

20

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2015-11-28
在线时间
89 小时
发表于 2018-7-30 16:47:19 | 显示全部楼层
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0); //设置中断组优先级 0   
还有这句代码的意思 不是 设置优先级....而是 设置分组类型...
回复

使用道具 举报

31

主题

1955

帖子

3

精华

论坛元老

Rank: 8Rank: 8

积分
4521
金钱
4521
注册时间
2018-5-11
在线时间
946 小时
发表于 2018-7-30 16:50:30 | 显示全部楼层
这种按键要上拉输入的,
并且初始化之后,还需要把它设成高电平才行。
参见我的例程:My_GPIO_Init(GPIO_C, 13, Mode_IPU, 0);  
我的开源链接 https://github.com/ShuifaHe/STM32.git  请关注,点赞支持哦。
回复

使用道具 举报

20

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2015-11-28
在线时间
89 小时
发表于 2018-7-30 16:51:22 | 显示全部楼层

就是问你 浮空输入 几个意思啊.
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:53:48 | 显示全部楼层
这个是原理图。怎么看需要什么输入啊,大佬?

捕获.PNG
捕获1.PNG
捕获2.PNG

(新版)MINI-STM32--原理图.pdf

885.76 KB, 下载次数: 102

原理图

回复

使用道具 举报

20

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2015-11-28
在线时间
89 小时
发表于 2018-7-30 16:53:57 | 显示全部楼层
本帖最后由 森海有眼泉 于 2018-7-30 16:55 编辑

总结一下: 你的代码 和注释完全对不上.  所以导致了一个很严重的问题.  你明明是上升 中断 高电平中断,  你按键接了个gnd   .
而且你还弄得浮空输入 .怕是永远也进不了中断.....   

你可以改成 上拉输入. 代码改成下降沿触发.    可以进中断
或者 改成上拉输入 .代码还是上升进入中断. 按键松开的时候进入中断..判断起来比较麻烦

一团乱麻 稀里糊涂....代码和注释 一定不能能...别图快 图省事...  不止你会犯错.(比如这次就弄错了 ) 而且我们帮你找错 也很麻烦....

代码一定要规范啊......
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:54:44 | 显示全部楼层
森海有眼泉 发表于 2018-7-30 16:51
就是问你 浮空输入 几个意思啊.

资料里写的浮空,就跟着写了浮空
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:55:21 | 显示全部楼层
大佬能给科普一下io的那几种模式吗,不懂
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-30 16:56:09 | 显示全部楼层
323232 发表于 2018-7-30 16:40
你这个按键  内部上拉吗?你这个下降沿够不够触发中断?你先调试看看中断进没进去,led_on_off调试看看这个 ...

所以啊   调试是发现问题的好方法,你是一定要学会调试的。你可以搜一下网上上拉输入的键盘原理图,如果他硬件上有上拉了的话,你可以浮空输入,你如果没有,那你就得内部上拉
猪猪熊呢?
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:58:33 | 显示全部楼层
森海有眼泉 发表于 2018-7-30 16:53
总结一下: 你的代码 和注释完全对不上.  所以导致了一个很严重的问题.  你明明是上升 中断 高电平中断,  你 ...

改成 上拉输入. 代码改成下降沿触发.    和原来一样。。。。
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 16:59:56 | 显示全部楼层
哆啦A萌 发表于 2018-7-30 16:58
我只想说EXTI15_10_IRQHandler才是中断处理函数名

哇,可以了,能进行了
回复

使用道具 举报

20

主题

200

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
462
金钱
462
注册时间
2015-11-28
在线时间
89 小时
发表于 2018-7-30 17:00:25 | 显示全部楼层
MNK 发表于 2018-7-30 16:58
改成 上拉输入. 代码改成下降沿触发.    和原来一样。。。。

仿真会使么? debug一下.在中断里面  设置一个 断点,看看能不能跑进去.
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-30 17:00:32 | 显示全部楼层
哆啦A萌 发表于 2018-7-30 16:58
我只想说EXTI15_10_IRQHandler才是中断处理函数名

猪猪熊呢?
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 17:02:04 | 显示全部楼层
浮空输入也可以,上拉也可以。。。
现在的问题是,彻底搞不懂这几种输入模式的区别了。。。
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 17:03:25 | 显示全部楼层
哆啦A萌 发表于 2018-7-30 16:58
我只想说EXTI15_10_IRQHandler才是中断处理函数名

大佬,请教一下,这个函数名是从那个文件中找到的?我记得用systicks的时候,有个SysTick_Handler()函数,是从startup中找到的,还需要把它在startup中屏蔽掉。这个也是中断入口吗?从哪里找啊,需要屏蔽吗?
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-7-30 17:03:49 | 显示全部楼层
MNK 发表于 2018-7-30 17:02
浮空输入也可以,上拉也可以。。。
现在的问题是,彻底搞不懂这几种输入模式的区别了。。。

那就说明浮空输入的下降沿也可以满足中断呗
猪猪熊呢?
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 17:04:47 | 显示全部楼层
323232 发表于 2018-7-30 17:03
那就说明浮空输入的下降沿也可以满足中断呗

我去自行科普io的八种输入去。。。。。
中断处理的函数哪里找?
回复

使用道具 举报

11

主题

122

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
207
金钱
207
注册时间
2018-2-11
在线时间
24 小时
 楼主| 发表于 2018-7-30 17:05:58 | 显示全部楼层
森海有眼泉 发表于 2018-7-30 17:00
仿真会使么? debug一下.在中断里面  设置一个 断点,看看能不能跑进去.

就是分步调试?一步一步往下走?
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 21:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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