zhang32568 发表于 2025-1-18 21:50:45

请教PWMA4N 4P(P26,P27)可以单独输出不同频率不同占空比的波形吗|已清楚

如题:

硬件板子已经做了 是通过端口P26 , PWMA4P和端口P27 PWMA4N。原本是通过这两个端口分别输出不同频率和占空比的波形。
但是现在我程序频率和占空比没办法单独设置。两个端口输出一直是同步。
如果共同使用PWMA定时器。频率只能一样。那么占空比是否可以单独调节?
看使用手册 云里雾里搞不清楚。
高手指导一下。

void PWMA_config(void)
{


      P_SW2 |= 0x80;                //SFR enable   
      PWMA_ENO    = 0;      // IO输出禁止
      PWMA_IER    = 0;      // 禁止中断
      PWMA_SR1    = 0;      // 清除状态
      PWMA_SR2    = 0;      // 清除状态

      PWMA_PSCRH = 0x00;                // 预分频寄存器, 分频 Fck_cnt = Fck_psc/(PSCR[15:0}+1), 边沿对齐PWM频率 = SYSclk/((PSCR+1)*(AAR+1)), 中央对齐PWM频率                                                         // = SYSclk/((PSCR+1)*(AAR+1)*2).
      PWMA_PSCRL = 0x00;
      PWMA_ARRH= 2400/256;      // 自动重装载寄存器,控制PWM周期
      PWMA_ARRL= 2400%256;



      PWMA_CCMR4= 0x68;                // 通道模式配置, PWM模式1, 预装载允许


      PWMA_CCR4H= 1600/256;      // 比较值, 控制占空比(高电平时钟数)

      PWMA_CCR4L= 1600%256;
      PWMA_CCER1= 0x00;      // 捕获/比较使能寄存器1
      PWMA_CCER2|= 0x50;      // 捕获/比较使能寄存器2
      PWMA_PS   = |= (1<<6);                // 选择IO

      PWMA_IER    = 0;      //设置允许通道1~4中断处理

      PWMA_BKR    = 0x80;                // 主输出使能 相当于总开关
      PWMA_CR1    = 0x81;                // 使能计数器, 允许自动重装载寄存器缓冲, 边沿对齐模式, 向上计数,
      PWMA_EGR    = 0x01;                //产生一次更新事件, 清除计数器和预分频计数器, 装载预分频寄存器的值
      PWMA_ENO    =|= 0xc0;                // 允许IO输出
}


zhang32568 发表于 2025-1-18 22:14:40

搞清楚了
当使用第一组PWM定时器输出PWM波形时,可单独使能PWM1P/PWM2P/PWM3P/PWM4P输出(称为P端输出),也可单独使能PWM1N/PWM2N/PWM3N/PWM4N输出(称为N端输出)。
P端输出和对应的N端输出不能同时独立输出。例如,若单独使能了PWM1P输出,则PWM1N就不能再独立输出,除非PWM1P和PWM1N组成一组互补对称输出

看来线路板要改动了
页: [1]
查看完整版本: 请教PWMA4N 4P(P26,P27)可以单独输出不同频率不同占空比的波形吗|已清楚