HuaiZeTao 发表于 2026-4-2 21:22:49

擎天柱开发板 无法输出PWM问题

用了很多版本的代码,始终无法输出PWM。对应输出口检查多遍没有问题,输出模式双向口和推挽都试过,一直是直线输出。
重新用Aicube生成了一个项目,核心代码如下:
void Io_Init(void)
{
        P0M1 = 0xff;               
        P0M0 = 0x00;               
        P1M1 = 0xff;               
        P1M0 = 0x00;               
        P2M1 = 0x00;
        P2M0 = 0x01;               
        P3M1 = 0xff;               
        P3M0 = 0x00;               
        P4M1 = 0xff;               
        P4M0 = 0x00;               
        P5M1 = 0xff;               
        P5M0 = 0x00;               
}
void Pwm_Init(void)
{
        EAXFR = 1; //扩展寄存器(XFR)访问使能
        PWMA_PS = 0x02;//设置PWMA的引脚切换
        PWMA_CCER1 = 0x00; //写 CCMRx 前必须先清零 CCxE 关闭通道
        PWMA_CCMR1 = 0x60;
        PWMA_CCER1 = 0x01;
        PWMA_CCMR1 = 0x68;
        PWMA_ARRH = 0x2b;
        PWMA_ARRL = 0x33;
        PWMA_CCR1H = 0x15;
        PWMA_CCR1L = 0x9a;
        PWMA_ENO = 0x01;//设置PWMA的输出使能
        PWMA_BKR = 0x80;//使能主输出
        PWMA_CR1 = 0x81; //使能ARR预装载,开始计时
}

void UpdatePwm(unsigned char num, unsigned int duty)
{
        if(num<=3&&duty>36864)return;// dutya不可以超过36864
        if(num>=4&&duty>0)return;// dutyb不可以超过0
        switch (num)
        {
        case 1:
                PWMA_CCR1H = (unsigned char)(duty >> 8); // 设置占空比时间
                PWMA_CCR1L = (unsigned char)(duty);
                break;
        default:
                break;
        }
}
//<<AICUBE_USER_GLOBAL_DEFINE_END>>




////////////////////////////////////////
// 项目主函数
// 入口参数: 无
// 函数返回: 无
////////////////////////////////////////
void main(void)
{
    //<<AICUBE_USER_MAIN_INITIAL_BEGIN>>
    //<<AICUBE_USER_MAIN_INITIAL_END>>

    SYS_Init();

    //<<AICUBE_USER_MAIN_CODE_BEGIN>>
                Io_Init();
    Pwm_Init();
    //<<AICUBE_USER_MAIN_CODE_END>>

    while (1)
    {
      USBLIB_OUT_Done();            //查询方式处理USB接收的数据

      //<<AICUBE_USER_MAIN_LOOP_BEGIN>>
      //<<AICUBE_USER_MAIN_LOOP_END>>
    }
}
P20口没有PWM输出。
求解,能力有限,能试的基本都试过了。。

乘风飞扬 发表于 2026-4-3 10:02:32

按照你的配置,P20引脚有PWM输出

HuaiZeTao 发表于 2026-4-14 20:14:41

乘风飞扬 发表于 2026-4-3 10:02
按照你的配置,P20引脚有PWM输出
已经可以输出了,感谢{:baoquan:}
页: [1]
查看完整版本: 擎天柱开发板 无法输出PWM问题