新手上路
- 积分
- 42
- 金钱
- 42
- 注册时间
- 2014-12-30
- 在线时间
- 0 小时
|
发表于 2015-9-13 19:16:24
|
显示全部楼层
void TIM5_CH1_Cap_Init(u32 arr,u16 psc)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM5,ENABLE); //TIM5?±??????
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); //????PORTA?±??
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1; //GPIOA0
//GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//????????
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz; //????100MHz
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //???ì????????
//GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN; //????
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOA,&GPIO_InitStructure); //??????PA0
//GPIO_PinAFConfig(GPIOA,GPIO_PinSource0,GPIO_AF_TIM5); //PA0???????¨?±?÷5
TIM_TimeBaseStructure.TIM_Prescaler=psc; //?¨?±?÷·???
TIM_TimeBaseStructure.TIM_CounterMode=TIM_CounterMode_Up; //?ò??????????
TIM_TimeBaseStructure.TIM_Period=arr; //×?????×°????
TIM_TimeBaseStructure.TIM_ClockDivision=TIM_CKD_DIV1;
TIM_TimeBaseInit(TIM5,&TIM_TimeBaseStructure);
NVIC_InitStructure.NVIC_IRQChannel = TIM5_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;//??????????3
NVIC_InitStructure.NVIC_IRQChannelSubPriority =0; //×???????3
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ?¨??????
NVIC_Init(&NVIC_InitStructure); //?ù?????¨????????????VIC?????÷
//??????TIM5????????????
TIM5_ICInitStructure.TIM_Channel = TIM_Channel_2; //CC1S=01 ?????????? IC1??????TI1??
TIM5_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising; //??????????
TIM5_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI; //??????TI1??
TIM5_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1; //????????·???,??·???
TIM5_ICInitStructure.TIM_ICFilter = 0x00;//IC1F=0000 ???????????¨?÷ ?????¨
// TIM_ICInit(TIM5, &TIM5_ICInitStructure);
TIM_PWMIConfig(TIM5, &TIM5_ICInitStructure); //PWM????????
TIM_SelectInputTrigger(TIM5, TIM_TS_TI2FP2); //???????§??????
TIM_SelectSlaveMode(TIM5, TIM_SlaveMode_Reset); //???????÷??????????
TIM_SelectMasterSlaveMode(TIM5, TIM_MasterSlaveMode_Enable);
TIM_ITConfig(TIM5,TIM_IT_Update|TIM_IT_CC2,ENABLE);//???í?ü?????? ,???íCC1IE????????
TIM_ClearITPendingBit(TIM5, TIM_IT_CC2|TIM_IT_Update); //????????±ê????
TIM_Cmd(TIM5,ENABLE ); //?????¨?±?÷5
}
修改成stm32f407的程序,不知哪里错了啊,串口没显示T^T |
|