Pac5223在drl和drh上输出问题

使用该函数初始化没有输出波形,void timer_a_pwm_driver_init(void)
{
pac5xxx_timer_a_clear_assert();// 禁用定时器A,防止在配置过程中被中断或干扰
//TimerA select ACLK as timer clock, no divider
pac5xxx_timer_clock_config(TimerA, TxCTL_CS_ACLK, TxCTL_PS_DIV1);// 配置定时器A的时钟源为ACLK(系统时钟),并且不使用预分频器
//Set TimerA frequency, Updown mode
pac5xxx_timer_base_config(TimerA, TIMERA_UPDOWN_PERIOD_TICKS, 0, TxCTL_MODE_UPDOWN, 0); // 配置定时器A的基本参数,包括周期、计数方向(上/下计数)、模式和初始值

pac5xxx_timer_capture_latch_config(TimerA, TxCTL_CLPRD_0);// 配置定时器的捕获锁存器

// Deadtime config 
pac5xxx_dtg_config(DTGA0, MOTOR1_LED_TICKS, MOTOR1_TED_TICKS, 0, 0, 0, 0);  // Configure DTGA0 for phase U
pac5xxx_dtg_config(DTGA1, MOTOR1_LED_TICKS, MOTOR1_TED_TICKS, 0, 0, 0, 0);  // Configure DTGA1 for phase V
pac5xxx_dtg_config(DTGA2, MOTOR1_LED_TICKS, MOTOR1_TED_TICKS, 0, 0, 0, 0);  // Configure DTGA2 for phase W

m1_u_set_duty(TIMERA_UPDOWN_PERIOD_TICKS >> 1);
m1_v_set_duty(TIMERA_UPDOWN_PERIOD_TICKS >> 1);
m1_w_set_duty(TIMERA_UPDOWN_PERIOD_TICKS >> 1);

pac5xxx_timer_a_clear_deassert(); // 启用定时器A,使定时器A可以正常工作

}
是不是还有其他设置,有没有全功能的DEMO,官网给的DEMO time里没有关于高压输出相关的DEMO

您好,
根据您的问题描述,现在的现象是配置好了定时器和PWM,但是在开关管的门极上并没有检测到PWM信号。
该问题出现的原因是在代码中缺少功率驱动部分的代码。这会导致驱动部分没有被初始化而无法驱动开关管。
详细代码可以在官网下载pac52xx_example_code_v2.0.0。然后需要在代码中作以下修改:

  1. 在config.h中,头文件选择#include “pac5223.h”
  2. 在config.h中,APP_TEST选择ANALOG_TEST
  3. 在analog_func.h中,ANALOG_APP_TEST选择ANALOG_DRIVER_PWM_OUTPUT_TEST

然后再进行编译下载,即可看到PWM输出。