找回密码
 立即注册
楼主: wuzhengmin

第一次:环境的创立 | 送实验箱

[复制链接]
  • 打卡等级:偶尔看看III
  • 打卡总天数:56
  • 最近打卡:2025-11-01 12:17:15
已绑定手机

7

主题

590

回帖

1050

积分

金牌会员

积分
1050
发表于 昨天 13:33 | 显示全部楼层
第一段:我们从P60输出:



void PWMA_1PInit(void)                        //PWMA的初始化,p60端口输出
{
        //1 时钟源选择,我们用默认22.1184MHz
       
        //2 先选时基单元,选择预分频计数器不分频
       
        PWMA_PSCRH = (u8)(PWM_PSCR>>8);  //选时基单元高8位,我们先1分频
        PWMA_PSCRL = (u8)(PWM_PSCR) ;  //选时基单元低8位,我们先1分频
       
        PWMA_ARRH = (u8)(PWM_ARR>>8) ;  //时基最大值的高8位,从0数到999
        PWMA_ARRL = (u8)(PWM_ARR) ;     //时基最大值的低8位
       
        PWMA_CCR1H = (u8)(PWM_CCR>>8) ;  //捕获比较寄存器的高8位,该寄存器用来计数比较
        PWMA_CCR1L = (u8)(PWM_CCR) ;     //捕获比较寄存器的低8位,该寄存器用来计数比较
                                                                          //0--500输出一种电平,500-999输出另一种电平
        //3 输入输出的引脚配置
       
        PWMA_ENO  = 0x00;  //使能PWM1p通道输出,先清0,注意P60正好在PWM1上
        PWMA_ENO |= 0x01;  // 用P6.0脚的话PWMA_ENO最低位=1
       
        PWMA_PS  = 0x00;  // 功能脚切换寄存器先清0
        PWMA_PS |= (2<<0);  //实际是C1PS取10,对应PWM1P就是P6.0 PWM1N就是P6.1
                                          //2就是10,<<0就是不动,就是选择PWM1 从P60引脚輸出
       
        //4 输入输出模式设置
       
        PWMA_CCER1 = 0x00 ; //关闭1通道
        PWMA_CCMR1 = 0x68 ; //将其配置为PW模式1 高4位是0110,低4位是1000,写0x68
                                                //配置为输出,
        PWMA_CCER1 = 0x01 ; //开启输出比较通道1
        PWMA_BKR = 0x80 ;   //主输出使能
               
        PWMA_CR1  |= 0x01 ;    //控制寄存器最低位=1就启动计数器

       
       
}



截图202511011333228231.jpg
回复

使用道具 举报 送花

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

本版积分规则

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

GMT+8, 2025-11-2 05:35 , Processed in 0.102337 second(s), 46 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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