OpenEdv-开源电子网

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

关于外部中断的疑问

[复制链接]

12

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
379
金钱
379
注册时间
2015-1-2
在线时间
74 小时
发表于 2015-1-3 13:00:54 | 显示全部楼层 |阅读模式
5金钱
while(1)
{
       if(flag0==1)
        {
            flag0=0;
            LED0_ON;
            delay_ms(300);
            LED0_OFF;
            delay_ms(300);
            LED0_ON;
            delay_ms(300);
            LED0_OFF;
            delay_ms(300);
       }
       if(flag1==1)
       {
           flag1=0;
           LED1_ON;
          delay_ms(300);
           LED1_OFF;
           delay_ms(300);
           LED1_ON;
           delay_ms(300);
           LED1_OFF;
           delay_ms(300);
       }    
}





void EXTI2_IRQHandler(void)
{
         delay_ms(10);//????
        if(KEY1==0) //°??üKEY2
        {
              flag0=1;
         }  
         EXTI->R=1<<2;  //????LINE2????????±ê????  
}


void EXTI3_IRQHandler(void)
{
         delay_ms(10);
         if(KEY2==0) 
         {  
             flag1=1;
         }  
        EXTI->R=1<<3;  
}


中断函数中置位flag0和flag1,在主函数中判断,若为1则LED闪烁3次,不知道为什么实际只闪烁一次。
另外,如果在exti.c中定义__IO uint8_t flag0=0,flag1=0
       在主函数中定义extern __IO uint8_t flag0=0,flag1=0
       编译的时候提示重复定义,我实在是纠结,还请高人指点



最佳答案

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

1,你这程序是1.2秒闪烁两次啊,注意一下是两次,还是一次, 2,extern __IO uint8_t flag0=0,flag1=0这句是有问题的,C语言多看一下!在exti.c中定义__IO uint8_t flag0=0,flag1=0已经赋值了,这里只能声明而不能再赋值了,你赋值了,所以 编译的时候提示重复定义,
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

13

主题

611

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1929
金钱
1929
注册时间
2014-10-6
在线时间
625 小时
发表于 2015-1-3 13:00:55 | 显示全部楼层
1,你这程序是1.2秒闪烁两次啊,注意一下是两次,还是一次,
2,extern __IO uint8_t flag0=0,flag1=0这句是有问题的,C语言多看一下!在exti.c中定义__IO uint8_t flag0=0,flag1=0已经赋值了,这里只能声明而不能再赋值了,你赋值了,所以 编译的时候提示重复定义,
回复

使用道具 举报

12

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
379
金钱
379
注册时间
2015-1-2
在线时间
74 小时
 楼主| 发表于 2015-1-3 22:44:37 | 显示全部楼层
回复【2楼】烟酒不沾:
---------------------------
确实,是两次,这个是没问题了,可能之前有些迷糊了,现在尝试几次都可以,问题2明天再试一下,谢谢你的指导,作为小白还需努力啊!另外请教一下,如果要使用STM32自带的USB功能,需要哪些软件和驱动?
回复

使用道具 举报

12

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
379
金钱
379
注册时间
2015-1-2
在线时间
74 小时
 楼主| 发表于 2015-1-3 22:45:58 | 显示全部楼层
回复【3楼】lzgztm521:
---------------------------------
因为今天我尝试了一下教程里面的USB_SD卡的实验,电脑提示无法识别
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-27 12:44

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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