平台:MT6737M
舵机:模拟舵机
--------------------------------------------------------------------------------------------------
知识储备:
舵机:
接口:VCC,GND,信号
原理:一个20ms左右的时基脉冲,该脉冲的高电平部分一般为0.5ms-2.5ms范围内的角度控制脉冲。
简单讲,就是一个50hz的PWM波形,脉宽(高电平)范围在0.5~2.5ms变化,控制角度的变化。
-------------------------------------------------------------------------------------------------------------------------------------
我们平台用了10个舵机,MTK平台没那么多PWM输出接口,怎么办?
1、硬件接口,需要10路PWM输出(10个舵机角度控制一致,那全部挂一路没问题,好像没这种需求吧)
在android平台用的最多的设备就是I2C了,也相对比较好调,所以找了一款IC,I2C转PWM输出,IC:PCA9685。
值得庆幸的是,这款IC linux有支持。\kernel-3.18\drivers\pwm\pwm-pca9685.c
2、又是俗套的I2C设备,驱动注册过程了。此处不表。
3、看datasheet,初始化,工作过程等等。
好多人估计要找PCA9685的初始化代码,记录一下吧。&#x