请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:MSP432E401Y 大家好、
我希望 PMW 中有四个不同的周期。
我基于"pwmled1_MSP_EXP432E401Y_FreeRTOS_CSS"描述了以下代码。
void * mainThread (void * arg0) { PWM_Handle pwm1 =空; PWM_Handle pwm2 =空; PWM_Handle pwm4 =空; PWM_Handle pwm6 =空; PWM_Params pwmParams; /*调用驱动程序初始化函数*/ PWM_init(); PWM_PARAMS_INIT (&pwmParams); pwmParams.idleLevel = PWM_IDLE_LOW; pwmParams.periodUnits = PWM_PERIOD_Hz; pwmParams.periodValue = 10000; pwmParams.dutyUnits = PWM_Duty_Fraction; pwmParams.dutyValue =(uint32_t)((((uint64_t) PWM_Duty_frecture_MAX * 50)/ 100); pwm1 = PWM_OPEN (Board_PWM1、&pwmParams); if (pwm1!=空) { PWM_START (pwm1); } pwmParams.periodValue = 3000; pwmParams.dutyValue =(uint32_t)((((uint64_t) PWM_Duty_frecture_MAX * 50)/ 100); pwm2 = PWM_open (Board_PWM2、&pwmParams); if (pwm2!= NULL) { PWM_START (pwm2); } pwmParams.periodValue = 5000; pwmParams.dutyValue =(uint32_t)((((uint64_t) PWM_Duty_frecture_MAX * 50)/ 100); pwm4 = PWM_OPEN (Board_PWM4、&pwmParams); if (pwm4!=空) { PWM_START (pwm4); } pwmParams.periodValue = 7000; pwmParams.dutyValue =(uint32_t)((((uint64_t) PWM_Duty_frecture_MAX * 50)/ 100); pwm6 = PWM_OPEN (Board_PWM6、&pwmParams); if (pwm6!=空) { PWM_START (pwm6); } while (1); 返回(NULL); }
此时、PWM 工作正常。
在下一个设置中、A 将为 NULL。
pwm1 = 1、000Hz
-pwm2 = 300Hz
-pwm4 = 500Hz
-pwm6 = 700Hz
如何获得不同的频率?
谢谢。
