STM32F429来自TIM2的PPS输出信号

时间:2016-07-29 08:56:58

标签: timer synchronization stm32

我尝试使用stm32f429微控制器为PTP同步生成PPS信号。

我将GPIOG 8引脚配置为AF引脚,TIM2配置为带有ITR1触发源的触发模式下的SLave。

TIM_TimeBaseInitTypeDef tim_pps;   GPIO_InitTypeDef gpio_pps;

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);   RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOG,ENABLE);

// Configure pin PG8 = PTP PPS Out
gpio_pps.GPIO_Pin   = GPIO_Pin_8;
gpio_pps.GPIO_Speed = GPIO_Speed_100MHz;
gpio_pps.GPIO_Mode  = GPIO_Mode_AF;
gpio_pps.GPIO_OType = GPIO_OType_PP;
gpio_pps.GPIO_PuPd  = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOG, &gpio_pps);
GPIO_PinAFConfig(GPIOG, GPIO_PinSource8, GPIO_AF_ETH);

TIM_DeInit(TIM2);

TIM_RemapConfig(TIM2, TIM2_ETH_PTP);

TIM_TimeBaseStructInit(&tim_pps);
tim_pps.TIM_Period = 0;
TIM_TimeBaseInit(TIM2, &tim_pps);

TIM_SelectSlaveMode(TIM2, TIM_SlaveMode_Trigger);
TIM_SelectInputTrigger(TIM2, TIM_TS_ITR1);    

TIM_Cmd(TIM2, ENABLE);

但我对PG8没有任何信号。你有什么建议吗?

1 个答案:

答案 0 :(得分:0)

如果您设置 TIM_Period = 0 - 那么您的计时器将无法正常工作。

最好阅读数据表以了解硬件限制。 根据您的MCU打开参考手册,并参见TIM1_ARR寄存器的说明。

usual TIM_ARR description