本帖最后由 zhange 于 2024-5-27 11:00 编辑
第三十四集:单通道PWM输出上
1.1刷没记住啥?????
====二刷吧====
1.PWMA 适用于许多不同的用途:
基本的定时
测量输入信号的脉冲宽度(输入捕获)
产生输出波形(输出比较,PWM 和单脉冲模式)
对应与不同事件(捕获,比较,溢出,刹车,触发)的中断
与 PWMB 或者外部信号(外部时钟,复位信号,触发和使能信号)同步
PWMA 广泛的适用于各种控制应用中,包括那些需要中间对齐模式 PWM 的应用,该模 式支持互补
输出和死区时间控制。
PWMA 的时钟源可以是内部时钟,也可以是外部的信号,可以通过配置寄存器来进行选择。
2.
- 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; //选择PWM1从P60引脚输出
- PWMA_PS |= (2<<0);
-
- //4.输入输出模式设置
- PWMA_CCER1 = 0X00;
- PWMA_CCMR1 = 0X68; //pwm模式1 配置置位输出
- PWMA_CCER1 = 0x04; //开启输出比较通道
-
- PWMA_BKR = 0X80; //使能主输出
-
- PWMA_CR1 |= 0X01; //启动计数器
- }
复制代码
|