新手上路
- 积分
- 33
- 金钱
- 33
- 注册时间
- 2015-1-17
- 在线时间
- 1 小时
|
5金钱
源子哥,帮帮忙------
我想用定时器计数功能对外部脉冲计数;弄了很久-----
以下是我的源码,请帮我分析下问题原因:
void SpeedDetectionConfig(void)
{
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, ENABLE);
TIM_DeInit(TIM3);
TIM_TimeBaseStructure.TIM_Period = 0xFFFF;
TIM_TimeBaseStructure.TIM_Prescaler = 0x00;
TIM_TimeBaseStructure.TIM_ClockDivision = 0x0;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure);
TIM_ETRClockMode2Config(TIM3, TIM_ExtTRGPSC_OFF, TIM_ExtTRGPolarity_NonInverted, 0);
TIM_SetCounter(TIM3, 0);
TIM_Cmd(TIM3, ENABLE);
}
void main()
{
int lu16v_UploadVal;
while(1)
{
delay1s(1);//延时1秒
TIM_Cmd(TIM3,DISABLE);
lu16v_UploadVal = TIM_GetCounter(TIM3); //获取霍尔速度
TIM_SetCounter(TIM3, 0);
TIM_Cmd(TIM3, ENABLE);
}
}
|
|