可参考8H实验箱例程包里面的PWM例子:
23-高级PWM1-PWM2-PWM3-PWM4,驱动P6口呼吸灯实验程序
24-高级PWM5-PWM6-PWM7-PWM8输出测试程序
- PWMA_CCER1 = 0x00; //写 CCMRx 前必须先清零 CCxE 关闭通道
- PWMA_CCER2 = 0x00;
- PWMA_CCMR1 = 0x60; //通道模式配置
- PWMA_CCMR2 = 0x60;
- PWMA_CCMR3 = 0x60;
- PWMA_CCMR4 = 0x60;
- PWMA_CCER1 = 0x55; //配置通道输出使能和极性
- PWMA_CCER2 = 0x55;
-
- PWMA_CCMR1 |= 0x08; //开启PWMA_CCRx预装载功能(需要CCxE=1才可写)
- PWMA_CCMR2 |= 0x08;
- PWMA_CCMR3 |= 0x08;
- PWMA_CCMR4 |= 0x08;
-
- PWMA_ARRH = (u8)(PWM_PERIOD >> 8); //设置周期时间
- PWMA_ARRL = (u8)PWM_PERIOD;
-
- PWMA_ENO = 0x00;
- PWMA_ENO |= ENO1P; //使能输出
- PWMA_ENO |= ENO1N; //使能输出
- PWMA_ENO |= ENO2P; //使能输出
- PWMA_ENO |= ENO2N; //使能输出
- PWMA_ENO |= ENO3P; //使能输出
- PWMA_ENO |= ENO3N; //使能输出
- PWMA_ENO |= ENO4P; //使能输出
- PWMA_ENO |= ENO4N; //使能输出
-
- PWMA_PS = 0x00; //高级 PWM 通道输出脚选择位
- PWMA_PS |= PWM1_3; //选择 PWM1_3 通道
- PWMA_PS |= PWM2_3; //选择 PWM2_3 通道
- PWMA_PS |= PWM3_3; //选择 PWM3_3 通道
- PWMA_PS |= PWM4_3; //选择 PWM4_3 通道
-
- PWMA_BKR = 0x80; //使能主输出
- PWMA_CR1 |= 0x01; //开始计时
复制代码
实验箱例程包下载页面:https://www.stcai.com/syx |