This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:Code Composer Studio
我使用 MSPware 生成 PWM 波形。 代码如下所示:
#define TIMER_PERIOD 13105 #define DUTY 周期825 void main (void) { //停止 WDT WDT_A_HOLD (WDT_A_base); // P2.0作为 PWM 输出 GPIO_setAsOutputModuleFunctionParam 引脚( GPIO_PORT_P2、 GPIO_PIN0 ); //生成 PWM -计时器以 UP_MODE_OCCK_POST_RAMRAM= param.compareRegister partimer_partimer_param_partimer_param.param_timer = param_param_param_timer_param.param_timer_param.param_timer;// param_param_param_param_timer_param_param_param_timer_param_param_param_param_timer = param.compareOutputMode = TIMER_A_OUTPUTDE_SET_RESET; param.dutyCycle = Duty_cycle; Timer_A_outputPWM (TIMER_A1_base、¶m); //Enter LPM0 ___ bis_SR_register (LPM0_BITS); //对于调试器 __no_operation(); }
当我将万用表连接到 P2.0上时、我看到电压从[2.63、3.26]摆动。 有人能告诉我为什么它不会一直变为0?
非常感谢您进行示波器测量。 我正在自行订购范围。 嗯、我打算产生与 示波器上出现的情况相反的结果。 导通时间更短、关断时间更长。
太棒了、非常感谢您的帮助。 我只需要我的稳压器 IC 来检查控制器的脉冲是否适合我的用例。
你(们)好,Britta
感谢您的持续 支持。 如该主题中所述、我需要得到4s 而不是400ms。 我修改了代码以将时钟除以10。 我现在看到一个奇怪的模式、3个脉冲是正常的、但之后有一个很大的滞后。 请您验证并向我提供建议吗?
#include "driverlib.h"
#define TIMER_PERIOD 13105
#define Duty_cycle 82.
void main (void)
{
//停止 WDT
WDT_A_HOLD (WDT_A_base);
//P2.0作为 PWM 输出
GPIO_setPeripheralModuleFunctionOutputPin (
GPIO_PORT_P2、
GPIO_PIN0
);
//GPIO_setOutputHighOnPin (GPIO_PORT_P2、GPIO_PIN0);
//生成 PWM -定时器以向上计数模式运行
Timer_A_outputPWMParam ={0};
param.clockSource = TIMER_A_CLOCKSOURCE_ACLK;
param.clockSourceDivider = TIMER_A_CLOCKSOURCE_divider;
param.timerPeriod = timer_period;
param.compareRegister = TIMER_A_CAPTURECMPARE 寄存器_1;
param.compareOutputMode = TIMER_A_OUTPUTMODE_RESET_SET;
param.dutyCycle = Duty_cycle;
Timer_A_outputPWM (timer_A1_base、param);
//Enter LPM0
_bis_SR_register (LPM0_bits);
//用于调试器
__no_operation();
}
您好、Britta、
如何使用中断生成输出 PWM 脉冲、这基本上是我在 MSPWare 中看到的、我需要使用向上计数模式并使用比较捕获寄存器。 您能不能指导我、以便我获得与我在这里得到的类似的占空比和周期。
谢谢