你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

我定时器设定0.1MS中断,下面红外接收怎么收不对,各位忙

[复制链接]
fhxu198591 提问时间:2016-4-6 19:34 /
@near @interrupt void TIM1_UPD_OVF_TRG_BRK_IRQHandler (void)
{

water= GET_WATER_PIN();

if( water==0)
  {  sppluscn3=1;
              if(capVa20==0)
             { sppluscn25=capVa21;
                     capVa21=0;
                         }
                   capVa20++;
                  
               
               
        }
        else
         {
                 if (sppluscn3==1)
                   {
                                 if (capVa21==0)
                                  { sppluscn4=capVa20;
                                         capVa20=0;
                                   }
                                         capVa21++;
                                         
                                         
                         }
                }         
    temp_ir=sppluscn4+sppluscn25;
if ((IrRecStep==0)&&(sppluscn3==1)&&(sppluscn25>40)&&(sppluscn25<50))
         {// temp_ir=sppluscn4+sppluscn25;
                if ((temp_ir>100)&&(temp_ir<150))
                    {IrRecStep=1;
                                IrIndex=0;
                                sppluscn3=0;
        sppluscn25=0;
        sppluscn4=0;
        IR_DATA=0;
                          }       
      else IrRecStep=0;

          }
   else if((IrRecStep==1)&&(sppluscn3==1)&&(sppluscn25>2))
      {
      if((temp_ir>5)&&(temp_ir<13))
                 {
                         IR_DATA>>=1;
                         IrIndex++;
                         sppluscn3=0;
                         sppluscn25=0;
                         sppluscn4=0;
                 }
         else
                 if((temp_ir>18)&&(temp_ir<25))
                 {
                         IR_DATA>>=1;
                         IR_DATA=IR_DATA+0x80;
                         IrIndex++;
                         sppluscn3=0;
                         sppluscn25=0;
                         sppluscn4=0;
                 }
          
          if(IrIndex==32)
                {
                        IrRecFlag=1;
                        IrIndex=0;
                        IrRecStep=0;
                }
               
       
}
          TIM1->SR1 = (u8)(~TIM1_FLAG_UPDATE);
          return;
}


收藏 评论2 发布时间:2016-4-6 19:34

举报

2个回答
fhxu198591 回答时间:2016-4-6 19:36:53
怎么都接收不到遥控代码,可以进中断
zcl201207 回答时间:2016-4-6 21:42:14

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版