问答

汇集网友智慧,解决技术难题

Jun-G

TA的家园币:10  

  • 用N32G4FR芯片的TIM1生成PWM波,发现波始终有毛刺和突起

    #defineTIM1_CLKSystemCoreClock/2*2//定时器的时钟(128MHz-128000000)#defineTM1_FREQ632000#defineTIM1_dutyratio4intmain(void){__enable_irq();RCC_Configuration();GPIO_Configuration();Tim1Config(TM1_FREQ);while(1){}}voidGPIO_Configuration(void)//IO口的配置{GPIO_InitTypeGPIO_InitStructure;GPIO_InitStruct(&GPIO_InitStructure);/*TIM1:PA8->TIM1_CH1*/GPIO_InitStructure.Pin=GPIO_PIN_8;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;GPIO_InitPeripheral(GPIOA,&GPIO_InitStructure);}voidTim1Config(uint32_tfreq){TIM_TimeBaseInitTypeTIM_TimeBaseStructure;OCInitTypeTIM_OCInitStructure;TIM_TimeBaseStructure.Period=(TIM1_CLK/freq)-1;TIM_TimeBaseStructure.Prescaler=0;TIM_TimeBaseStructure.ClkDiv=0;TIM_TimeBaseStructure.CntMode=TIM_CNT_MODE_UP;TIM_TimeBaseStructure.RepetCnt=0;TIM_InitTimeBase(TIM1,&TIM_TimeBaseStructure);/*PWM1Modeconfiguration:Channel1*/TIM_InitOcStruct(&TIM_OCInitStructure);TIM_OCInitStructure.OcMode=TIM_OCMODE_PWM1;TIM_OCInitStructure.OutputState=TIM_OUTPUT_STATE_ENABLE;TIM_OCInitStructure.Pulse=(TIM1_CLK/freq/TIM1_dutyratio)-1;TIM_OCInitStructure.OcPolarity=TIM_OC_POLARITY_HIGH;TIM_InitOc1(TIM1,&TIM_OCInitStructure);//预装载使能TIM_ConfigOc1Preload(TIM1,TIM_OC_PRE_LOAD_ENABLE);TIM_ConfigArPreload(TIM1,ENABLE);/*TIM3enablecounter*/TIM_Enable(TIM1,ENABLE);/*TIM1MainOutputEnable*/TIM_EnableCtrlPwmOutputs(TIM1,ENABLE);}voidRCC_Configuration(void){/*EnableGPIOclock*/RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_GPIOA|RCC_APB2_PERIPH_GPIOB|RCC_APB2_PERIPH_AFIO,ENABLE);/*EnableUSART1Clock*/RCC_EnableAPB2PeriphClk(RCC_APB2_PERIPH_USART1,ENABLE);

    芯片 TI ST PWM波 IO N32G4FR

    2025-11-20 0