PCA9685 有用这个需求的人都知道,这是一个可以输出16路PWM波的模块
那么,网上关于他的介绍都极其零碎,而且很多都讲的不是重点
可能看到这里的各位都有和楼主一样的烦恼
但是不用担心,楼主把自己改好的驱动程序分享给大家,绝对是可以用的,并且相关的.C.H文件分的很清楚
想要的就下下来用吧
并且PCA9685是可以通过模块上小电阻的焊接完成IIC读写的地址改变完成级联,只需要在这个程序上改一下宏定义就好了,我把最原本PCA9685的读写地址宏定义在我的pca9685.h里了,并且注释应该是比较清楚的
单片机源程序如下:
- #define PCA9685_write_adrr 0x80//写入地址
- #define PCA9685_read_adrr 0x81//读取地址
- #define PCA9685_MODE1 0x00
- #define PCA9685_MODE2 0x01
- #define PCA9685_SUBADR1 0x02
- #define PCA9685_SUBADR2 0x03
- #define PCA9685_SUBADR3 0x04
- #define PCA9685_PRESCALE 0xFE
- #define LED0_ON_L 0x06
- #define LED0_ON_H 0x07
- #define LED0_OFF_L 0x08
- #define LED0_OFF_H 0x09
- #define ALLLED_ON_L 0xFA
- #define ALLLED_ON_H 0xFB
- #define ALLLED_OFF_L 0xFC
- #define ALLLED_OFF_H 0xFD
复制代码
全部资料51hei下载地址:
IIC通信控制PCA9685控制舵机.7z
(186.45 KB, 下载次数: 155)
|