找回密码
 立即注册
查看: 743|回复: 3

开天斧高级PWM输出指定次数脉冲历程修改 无法输出脉冲

[复制链接]

5

主题

16

回帖

61

积分

注册会员

积分
61
发表于 2023-5-6 15:59:25 | 显示全部楼层 |阅读模式
根据历程的硬件PWM计数修改后,无法输出PWM(逻辑分析仪确认),但如果直接将 PWMA_CR1 |= 0x01,输出是正常的。求教!



void PWMA_Init()
{
        P_SW2 |= 0x80; //扩展寄存器(XFR)访问使能

                //Timer0初始化
        AUXR &= 0x7f;    //Timer0 set as 12T, 16 bits timer auto-reload,
        TH0 = 0;
        TL0 = 0;
        ET0 = 0;    //Timer0 interrupt enable
        TR0 = 0;    //Tiner0 run
       
        PWMA_CCER1 = 0x00; //写 CCMRx 前必须先清零 CCxE 关闭通道
        PWMA_CCMR1 = 0x68; //通道模式配置:PWM模式1
        PWMA_CCER1 = 0x55; //开启比较输出并使能,高电平有效

        PWMA_PSCRH = (char)(PWM_PSCR>>8);     //设置分频
        PWMA_PSCRL = (char)(PWM_PSCR);
        PWMA_ARRH = (char)(PWM_PERIOD >> 8); //设置周期时间
        PWMA_ARRL = PWM_PERIOD;
        PWMA_CCR1H = (char)(PWM1_Duty >> 8); //设置占空比时间
        PWMA_CCR1L = (char)(PWM1_Duty);
       
        PWMA_ENO = 0x00;
        PWMA_ENO |= ENO1P; //使能PWM1输出
//        PWMA_ENO |= ENO1N; //使能输出

        PWMA_PS = 0x00;  //高级 PWM 通道输出脚选择位
        PWMA_PS |= PWM1_2; //选择 PWM1_2 通道

        PWMA_BKR = 0x80; //使能主输出
//        PWMA_CR1 |= 0x01; //ARR预装载,开始计时

        IE2 |= 0x80;   //IE2相关的中断位操作使能后,需要重新设置EUSB
        EA = 1;     //打开总中断

}



//发送指定个数脉冲
void TxPulse(char rep)
{
        if(rep)
        {
                rep -= 1;
                PWMA_RCR = rep; //计数rep+1个脉冲后产生更新事件
                PWMA_CR1 |= 0x89; //ARR预装载,开始计时
        }
}




void main()
{
        Gpio_Init();
        PWMA_Init();
        Delay100us();
//        GetDistance();
//        if(UsFlag)
//        Distance = g_distance;
        TxPulse(20);
        while(1)
        {

        }
       
}


回复

使用道具 举报 送花

5

主题

16

回帖

61

积分

注册会员

积分
61
发表于 2023-5-6 16:19:17 | 显示全部楼层
直接烧录了试验箱的例程,用逻辑分析仪看P60,也是没有输出
回复 支持 反对

使用道具 举报 送花

5

主题

16

回帖

61

积分

注册会员

积分
61
发表于 2023-5-6 17:33:26 | 显示全部楼层
卡在这里好久了。求各位大神指点
回复 支持 反对

使用道具 举报 送花

  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-05-03 10:05:34

718

主题

1万

回帖

1万

积分

管理员

积分
15646
发表于 2023-5-6 18:40:25 | 显示全部楼层
我也不懂,我是生产,只会贴图,贴错了,也是你错了
1.png

2.png

3.png

直接下载HEX,  
#define     MAIN_Fosc       24000000L           //定义主时钟

烧录时选择 24MHz

回复 支持 反对

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2025-5-3 15:04 , Processed in 0.123112 second(s), 66 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表