初级会员

- 积分
- 98
- 金钱
- 98
- 注册时间
- 2019-5-29
- 在线时间
- 28 小时
|
10金钱
刚刚使用F0单片机,程序是从F1移植过来的,细节改了改,编译没有错误了,但是配置了TIM1之后没有现象,仿真在WATCH窗口看TIM1各个寄存器的值,发现全是0000,也就是配置语句没有作用,有人知道可能是什么原因么,我打了断点,每段代码都运行到了。
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_ICInitTypeDef TIM_ICInitStructure;
GPIO_InitTypeDef GPIO_InitStructure;
NVIC_InitTypeDef NVIC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
RCC_APB1PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE);
/* GPIOB Configuration: Channel 1N, 2N and 3N as alternate function push-pull */
GPIO_InitStructure.GPIO_Pin = INPUT1_GPIO_PINx;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(INPUT1_GPIOx, &GPIO_InitStructure);
/* Time Base configuration */
TIM_TimeBaseStructure.TIM_Prescaler = 47;
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
TIM_TimeBaseStructure.TIM_Period = REST_TIME;
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;
TIM_TimeBaseInit(INPUT1_TIMx, &TIM_TimeBaseStructure);
/* Channel 1, 2,3 and 4 Configuration in PWM mode */
TIM_ICInitStructure.TIM_Channel = TIM_Channel_2; // TIM_Channel_2
TIM_ICInitStructure.TIM_ICPolarity = TIM_ICPolarity_Falling;//TIM_ICPolarity_Falling;
TIM_ICInitStructure.TIM_ICSelection = TIM_ICSelection_DirectTI;
TIM_ICInitStructure.TIM_ICPrescaler = TIM_ICPSC_DIV1;
TIM_ICInitStructure.TIM_ICFilter = 0;
//TIM_PWMIConfig(INPUT1_TIMx, &TIM_ICInitStructure);
TIM_ICInit(INPUT1_TIMx, &TIM_ICInitStructure);
TIM_SelectInputTrigger(INPUT1_TIMx, TIM_TS_TI2FP2); //??IC2??????
TIM_SelectSlaveMode(INPUT1_TIMx, TIM_SlaveMode_Reset); //TIM???:???????????????????????????
TIM_SelectMasterSlaveMode(INPUT1_TIMx, TIM_MasterSlaveMode_Enable); //??????????
TIM_UpdateRequestConfig(INPUT1_TIMx, TIM_UpdateSource_Regular); //set URS
TIM_ITConfig(INPUT1_TIMx, TIM_IT_Update/* | TIM_IT_CC1*/, ENABLE); //for judge start signal
TIM_ClearITPendingBit(INPUT1_TIMx, TIM_IT_Update);
/* TIM4 counter enable */
TIM_Cmd(INPUT1_TIMx, ENABLE);
NVIC_InitStructure.NVIC_IRQChannel = TIM1_BRK_UP_TRG_COM_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
|
|