|
TIM_TimeBaseInitTypeDef TIM3_TimeBaseStructure;
TIM_ICInitTypeDef TIM3_ICInitStructure;
TIM_DeInit(TIM3);
TIM3_TimeBaseStructure.TIM_Prescaler = 0x0; // No prescaling
TIM3_TimeBaseStructure.TIM_Period = U16_MAX-1;
TIM3_TimeBaseStructure.TIM_ClockDivision = 0x0;
TIM3_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM3_TimeBaseStructure);
TIM_EncoderInterfaceConfig(TIM3,
TIM_EncoderMode_TI12, //编码模式3,在TI1和TI2计数
TIM_ICPolarity_Rising,
TIM_ICPolarity_Rising);
TIM3_ICInitStructure.TIM_ICFilter = 6;
TIM_ICInit(TIM3, &TIM3_ICInitStructure);
TIM_ClearFlag(TIM3, TIM_FLAG_Update);
TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
TIM3->CNT = 150; //计数器初值
TIM_Cmd(TIM3,ENABLE);
然后我在主程序里用 Temp=TIM3->CNT; USART_SendByte(USART1,Temp)上位机接收到的结果是0,就算不启动计数器,仍然是0,感觉给TIM3->CNT赋值没有用,
是不是计数器有读保护,要哪里设置过才能读它?
搞了很久了,求指点~~~ |
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|