介绍
PCA9685 是最新的快速模式 Plus(Fm+)系列中的一员。 Fm+器件可以提供更高的频率
(高达 1MHz)和更频繁(densely populated) 的总线操作(高达 4000pF)。
OE引脚一定要至低使能,或者直接接地
网上Arduino的教程很多,商家给的也是Arduino的驱动文件,那怎么在STM32上用呢?
STM32与驱动板的连接
驱动板 STM32
VCC 3.3V
GND GND
SCL I2C_SCL
SDA I2C_SDA
OE GND(低电平)
V+ 不接
V+可以不接而采用电源接线柱使用外部供电,用5V的充电宝即可
由于PCA9685是使用IIC的,那么如何使用IIC通信呢?
STM32CubeMx提供的HAL库就可以实现
那么如何实现PCA9685的驱动文件呢?
其实驱动文件只要实现几个函数即可,IIC读PCA函数,IIC写PCA函数,PCA复位函数,设置PWM频率函数和设置角度函数
驱动文件如下
void PCA9685_Reset()
{
PCA9685_write(PCA9685_MODE1,0x00);
}
void PCA9685_Go()
{
PCA9685_Reset();
}
void SetPWMFreq(float freq)
{
uint32_t prescale,oldmode,newmode;
float prescaleval;
freq *= 0.92; // Correct for overs