找回密码
 立即注册
查看: 185|回复: 2

冲哥视频第34集PWM配置代码可精简吗?

[复制链接]
  • TA的每日心情
    难过
    昨天 00:10
  • 签到天数: 102 天

    [LV.6]常住居民II

    11

    主题

    69

    回帖

    235

    积分

    中级会员

    积分
    235
    发表于 2024-2-28 14:56:42 | 显示全部楼层 |阅读模式
    void PWMA_Init(void) //PWMA的初始化
    {
    //1.时钟源选择  这里不改,默认22.1184mhz
    //2.时基单元选择
    PWMA_PSCRH = 0; //1分频
    PWMA_PSCRL = 0;
    PWMA_ARRH  = (u8)(PWM_ARR>>8);
    PWMA_ARRL  = (u8)(PWM_ARR);
    PWMA_CCR1H  = (u8)(PWM_CCR>>8);
    PWMA_CCR1L  = (u8)(PWM_CCR);
    //3.输入输出的引脚配置
    PWMA_ENO = 0X00; //使能PWM1n通道输出
    PWMA_ENO |= 0X02;
    PWMA_PS =0x00; //选择PWM1P60引脚输出
    PWMA_PS |= (2<<0);
    //4.输入输出模式设置
    PWMA_CCER1 = 0X00;
    PWMA_CCMR1 = 0X68; //pwm模式1 配置置位输出
    PWMA_CCER1 = 0x04; //开启输出比较通道
    PWMA_BKR = 0X80; //使能主输出
    PWMA_CR1 |= 0X01; //启动计数器
    }
    PWMA_ENO = 0X00;
    PWMA_ENO |= 0X02;
    直接写成PWMA_ENO = 0X02; 行不行呢?
    下面一句PWMA_CCER1 = 0X00;直接删除行不行?
    STC32G的芯片还没到货,暂时不能实验

    回复 送花

    使用道具 举报

  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 101 天

    [LV.6]常住居民II

    41

    主题

    1012

    回帖

    6963

    积分

    荣誉版主

    冲哥视频教程和各种开源资料QQ交流群884047237,可群

    积分
    6963
    QQ
    发表于 2024-2-28 16:11:02 | 显示全部楼层
    1.直接写成PWMA_ENO = 0X02; 行不行呢?
    --- 可以这么写,通道多了的话这么写容易搞混~

    2.下面一句PWMA_CCER1 = 0X00;直接删除行不行?
    ---不能,原因见下图
    截图202402281610516105.jpg
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    难过
    昨天 00:10
  • 签到天数: 102 天

    [LV.6]常住居民II

    11

    主题

    69

    回帖

    235

    积分

    中级会员

    积分
    235
     楼主| 发表于 2024-2-28 16:30:10 | 显示全部楼层
    哦 谢谢解答
    回复 支持 反对 送花

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-17 10:20 , Processed in 0.063341 second(s), 40 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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