stm32编程将两种控制方式结合在一起(语音控制和开关控制)

语音识别控制继电器程序:

while(1)
{
 switch(nAsrStatus)
 {
	case LD_ASR_RUNING:
	case LD_ASR_ERROR:	break;
	case LD_ASR_NONE:
	nAsrStatus=LD_ASR_RUNING;
	if (RunASR()==0)	//	启动一次ASR识别流程:ASR初始化,ASR添加关键词语,启动ASR运算
	 {		
	   nAsrStatus = LD_ASR_ERROR;
	 }
	  break;
	case LD_ASR_FOUNDOK:
	 nAsrRes = LD_GetResult( );	//识别成功自动 获取识别码,识别码在LDChip.h文件中,自行定义的数据										 									
      switch(nAsrRes)		   /*对结果执行相关操作,客户修改*/
	  {
		case CODE_KD:	LED=1;break;//识别到开灯
	    case CODE_GD:	LED=0;break;	//识别到关灯
		case CODE_DKDS:	DS_RELAY=1;break;//识别到打开电视
		case CODE_GBDS:	DS_RELAY=0;break;	//识别到关闭电视
		case CODE_DKKT:	KT_RELAY=1;break; //识别到打开空调	
		case CODE_GBKT:	KT_RELAY=0;break;	//识别到关闭空调
		case CODE_GBYDQ:	 //识别到关闭用电器
		 LED=0;
		 DS_RELAY=0;
		 KT_RELAY=0;
		 break;									 
		 default:break;
	  }	
				
	nAsrStatus = LD_ASR_NONE;	
	break;
					
	case LD_ASR_FOUNDZERO:
    default: nAsrStatus = LD_ASR_NONE;
	break;
 }//switch			
}// while

开关控制程序如下:

while(1)
{
 	if(PAin(10)==1)
		DS_RELAY=1;
	if(PAin(10)==0)
		DS_RELAY=0;
	if(PBin(0)==1)
	   KT_RELAY=1;
	if(PBin(0)==0)
	  KT_RELAY=0;
}

我将其组合在一块后烧入程序出现在开关关闭情况下语音输入开启指令继电器只闪烁的情况。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^