为什么用timer2的CH2,也就是PA1,不能做外部计数

2019-07-20 18:40发布

void TIM2_Excnt_Init(u16 arr,u16 psc)
{
  RCC->APB1ENR |=1<< 0;//ê1&#196;ü&#182;¨ê±&#198;÷2£&#172;TIM2
        RCC->APB2ENR|=1<<2;            //ê1&#196;üPORTAê±&#214;ó  
       
        GPIOA->CRL &= 0XFFFFFF0F;//PA1&#199;&#229;á&#227;
        GPIOA->CRL |= 0X00000080;//ê&#228;è&#235;
        GPIOA->ODR|=0<<1;                //PA1 &#207;&#194;à-

TIM2->ARR=arr;          //??????????   
TIM2->PSC=psc;          //????  
       
        TIM2->CCMR1|=1<<8;                //CC2S=10         &#209;&#161;&#212;&#241;ê&#228;è&#235;&#182;&#203; IC2ó3é&#228;μ&#189;TI2é&#207;
        TIM2->CCMR1|=0<<12;                 //IC2F=0001 &#197;&#228;&#214;&#195;ê&#228;è&#235;&#194;&#203;2¨&#198;÷ 2&#187;&#194;&#203;2¨
       
  TIM2->CCER|=0<<5;                 //CC2P=0        é&#207;éy&#209;&#216;2&#182;&#187;&#241;

  TIM2->SMCR|=5<<4;           //????:?????????1(TI1FP1)
  TIM2->SMCR|=7<<0;           //??????1
  TIM2->CR1|=1<<0;              //?????,CEN=1
}
TIM2_Excnt_Init(0XFFFF,0);
  while(1)
        {
  if(oldcnt!=TIM2->CNT)
   {
        oldcnt=TIM2->CNT;
        usRegHoldingBuf[0]=oldcnt;
   }
  }
}
为什么用TIMer2的CH2,也就是PA1,不能做外部计数啊。各位大神能指导下吗

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。