RV1126如何配置PWM
时间: 2023-06-23 14:45:15 浏览: 270
RV1126是一款Rockchip公司推出的AI芯片,它内置了多个PWM模块,可以实现多路PWM输出。下面是RV1126如何配置PWM的步骤:
1. 确定需要配置PWM的IO引脚和对应的PWM通道。RV1126共有4个PWM通道,分别对应于IO引脚PH1、PH2、PH3、PH4。
2. 配置PWM时钟源和分频系数。RV1126的PWM时钟源可以选择内部时钟或外部时钟,分频系数可以设置为1~4096。
3. 配置PWM占空比。RV1126的PWM占空比可以设置为0~100%,可以通过修改PWM通道的占空比寄存器来实现。
4. 启动PWM输出。RV1126的PWM输出可以通过设置PWM控制寄存器中的使能位来启动或停止。
下面是RV1126配置PWM的示例代码,以PH1引脚为例:
```c
// 选择PWM时钟源为内部时钟,分频系数为128
CRU->PWM_PCLK_DIV = 0x00800000 | 127;
// 配置PWM1占空比为50%
PWM1->CFG = 0x00000000; // 配置PWM1时钟源为PWM时钟,占空比为绝对值模式
PWM1->CTRL = 0x00000000; // 关闭死区时间
PWM1->VAL1 = 0x00000000; // PWM输出初始值为0
PWM1->VAL2 = 0x00000080; // PWM输出周期为128个PWM时钟周期
PWM1->VAL3 = 0x00000040; // PWM输出占空比为50%
PWM1->CTRL |= 0x00000001; // 使能PWM1输出
// 配置PH1引脚为PWM输出
GPIOH->SWPORT_CTL[1] &= ~(0x3 << 0); // 将PH1引脚配置为GPIO输出
GPIOH->SWPORT_CTL[1] |= 0x2 << 0; // 将PH1引脚配置为PWM输出
```
以上代码中,首先通过CRU->PWM_PCLK_DIV寄存器配置PWM时钟源和分频系数,然后配置PWM1通道的占空比和输出使能位,最后通过GPIOH->SWPORT_CTL[1]寄存器将PH1引脚配置为PWM输出。其他PWM通道的配置也类似,只需要修改相应的寄存器即可。
阅读全文