微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 红外解码程序中没有循环怎么就把33个数据给存储在数组里啦

红外解码程序中没有循环怎么就把33个数据给存储在数组里啦

时间:10-02 整理:3721RD 点击:
void EX0_ISR (void) interrupt 0 //外部中断0服务函数
{
  static unsigned char  i;             //接收红外信号处理
  static bit startflag;                //是否开始处理标志位
if(startflag)                        
   {
    if(irtime<63&&irtime>=33)//引导码 TC9012的头码,9ms+4.5ms
                        i=0;
      irdata[i]=irtime;//存储每个电平的持续时间,用于以后判断是0还是1
      irtime=0;
      i++;
       if(i==33)
            {
       irok=1;
     i=0;
         }
    }
else
   {
  irtime=0;
  startflag=1;
   }
}

中断33次吧,每次中断计一个~

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top