中级会员
 
- 积分
- 445
- 金钱
- 445
- 注册时间
- 2019-1-29
- 在线时间
- 101 小时
|
10金钱
我现在在做开发,需要用外部信号的上升沿去触发TIM1启动,然后用内部时钟去计数,但程序实现不了想要的功能,特来求救!(刚接触STM32没多长时间,水平有限 ,求大家指点指点)
代码如下:
void TIM1_Ext_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
TIM_ICInitTypeDef TIM_ICInitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; //TIM1_CH1
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
TIM_SelectInputTrigger(TIM1, TIM_TS_TI1FP1);//TI1上升沿检测
TIM_SelectSlaveMode(TIM1, TIM_SlaveMode_Trigger);//触发模式
TIM_SelectMasterSlaveMode(TIM1, TIM_MasterSlaveMode_Enable);
TIM_ICInitStructure.TIM_Channel = TIM_Channel_1;
TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Rising;
TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;
TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;
TIM_ICInitStructure.TIM_ICFilter = 0;
TIM_ICInit(TIM1, &TIM_ICInitStructure);
TIM_InternalClockConfig(TIM1);
}
|
|