|  | 
 
| 
 //========================================================================
 //                              PWM初始化
 //========================================================================
 void PWM_config(void)
 {
 
 HSPWMx_InitDefine PWMx_InitStructure;
 
 PWM_Duty.PWM3_Duty = PWM3_DUTY_INIT;                       //初始值500
 
 PWMx_InitStructure.PWM_EnoSelect = ENO3P;                  // 输出通道选择,   ENO1P,ENO1N,ENO2P,ENO2N,ENO3P,ENO3N,ENO4P,ENO4N / ENO5P,ENO6P,ENO7P,ENO8P
 PWMx_InitStructure.PWM_Period = 1000;                      // 周期时间,   0~65535
 PWMx_InitStructure.PWM_DeadTime = 0;                       // 死区发生器设置, 0~255
 PWMx_InitStructure.PWM_MainOutEnable = ENABLE;             // 主输出使能, ENABLE,DISABLE
 PWMx_InitStructure.PWM_CEN_Enable = ENABLE;                // 使能计数器, ENABLE,DISABLE
 HSPWM_Configuration(PWMA, &PWMx_InitStructure, &PWM_Duty); // 初始化PWM通用寄存器,  PWMA,PWMB
 // HSPllClkConfig(MCLKSEL_XIRC, PLL_144M, 0);
 HSPllClkConfig(MCLKSEL_XIRC, PLL_144M, 0);                 // 系统时钟选择,PLL时钟选择,时钟分频系数
 
 // PWM3_USE_P14P15(); //默认引脚,输出波形正常
 // PWM3_USE_P24P25(); //切换引脚后,波形上升下降缓慢
 
 NVIC_PWM_Init(PWMA, DISABLE, Priority_0);
 }
 
 
 
 程序如上,仅初始化未作其他操作,用的官方的FreeRTOS,使用P1.4输出正常,P2.4输出如示波器所示。
 
 
 
   
 | 
 |