栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

中断实验相关问题

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

中断实验相关问题

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin)
{
    delay_ms(10);      	//Ïû¶¶
    switch(GPIO_Pin)
    {
        case GPIO_PIN_0:
            if(WK_UP==1) 
            {
				      for(u8 i=0;i<3;i++)
							{
							  LED3=!LED3;
							  delay_ms(500);
								LED3=!LED3;
                delay_ms(500);
							}
							printf("WK_UP Start");	}	
            
            break;
        case GPIO_PIN_8:
            if(KEY0==0)  	//¿ØÖÆLED0·­×ª 
            {
                for(u8 i=0;i<5;i++)
							{
							LED4=!LED4;
							delay_ms(500);
							LED4=!LED4;
							delay_ms(500);
							}
            }
            break;
        case GPIO_PIN_9:
            if(KEY1==0)  
            {
				      LED0=!LED0;	//¿ØÖÆLED1·­×ª
					  	printf("KEY1 Start");	
            }
            break;
	    case GPIO_PIN_2:
			if(KEY2==0)
			{
				printf("KEY2 Start");
				BEEP=1;
				delay_ms(1000);
				BEEP=0;

			}
				
    }
	}

中断函数所包括的,所有的外部中断会调用此函数

注意优先级的设置

  1. 按KEY1按键后串口打印“KEY1  Start ”,控制LED0翻转;
  2. 按KEY2按键后串口打印“ KEY2  Start ” 1s后串口打印“KEY2  End”, 同时蜂鸣器鸣响一次;
  3. 按WK_UP按键后串口打印“WK_UP  Start ” LED3每隔1s翻转一次,翻转3次后串口打印“WK_UP  End”;
  4. 按KEY0按键后串口每隔1s打印“KEY0  Start ” “KEY0  End”一次,同时LED4闪烁一次,此现象共执行五次。
  5. KEY2能够打断其他中断程序
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665559.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号