中级会员
 
- 积分
- 216
- 金钱
- 216
- 注册时间
- 2014-3-22
- 在线时间
- 26 小时
|
5金钱
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM4, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //PB8 ????????
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_ResetBits(GPIOB,GPIO_Pin_8);
TIM_TimeBaseStructure.TIM_Period = 0XFFFF;
TIM_TimeBaseStructure.TIM_Prescaler =24-1;
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure);
TIM4_ICInitStructure.TIM_Channel = TIM_Channel_3;
TIM4_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;
TIM4_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;
TIM4_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;
TIM4_ICInitStructure.TIM_ICFilter = 0x00;
TIM_ICInit(TIM4, &TIM4_ICInitStructure);
void TIM4_IRQHandler(void)
{
if (TIM_GetITStatus(TIM4, TIM_IT_CC3) != RESET)
{
TIM_ClearITPendingBit(TIM4,TIM_IT_CC3);
if(CaptureNumber3== 0)
{
IC4ReadValue3=TIM_GetCapture3(TIM4);
CaptureNumber3=1;
}
else if(CaptureNumber3)
{
CaptureNumber3=0;
IC4ReadValue4=TIM_GetCapture3(TIM4);
if(IC4ReadValue4>IC4ReadValue3)
{
Capture=IC4ReadValue4-IC4ReadValue3;
}else
{
Capture3=((0xffff-IC4ReadValue3)+IC4ReadValue4);
}
Freq3=24000000.0/Capture3;
}
}
这是源代码 是什么原因导致的呢??求指导
|
|