泰凌蓝牙 8232 PWM

/*************************************************************************************

1.想整理些泰凌8232的坑,做项目中,在网上几乎没有关于这个芯片的资料,可能是没人用,不应该,还是因为版权啥的??  如果真的涉及,请联系我删除,谢谢

2.记录一些遇到的问题,有需要的可以参考下,文章也会记录一些未解决的问题,本人能力有限,很多坑仍未解决,文章仅供参考

*************************************************************************************/

PWM也有坑.

如果你使用某个外设,发现他不工作,确认下它的时钟是否打开了,这个蓝牙是RISC-V架构的,我对这个不是很了解.看了手册发现和arm差不多,都是要打开或者关闭时钟的.这个SDK打开时钟没有API,要么是SDK中使用外设是自己打开了,要么是需要自己配寄存器的,datasheet中关于打开时钟的地方在clock部分.可以根据寄存器的默认值判断某个外设是否打开了时钟.

pwm设置

设置时钟

打开时钟

选择某个GPIO为pwm功能

设置pwm模式

设置占空比

关闭相位

打开pwm

关闭pwm

 GPIO_FuncTypeDef这个枚举中定义了pwm的几个标号,只有pwm0到2,但是我想用pwm5怎么办,这里没有,很简单自己加上就行.因为datasheet是有写pwm5的,并且我们PCB设计的也是PWM5.库里没有,这个不正常.

 同样pwm ID也要自己补全.要按照枚举的值补全,pwm5是5,不能写成2.

关于pwm的高低电平相位,在datasheet中也有描述

上图中的CMP对应API的第3个参数

 

原文地址:https://www.cnblogs.com/1024E/p/14391285.html