打印

RGB灯驱动芯片P9813驱动程序

[复制链接]
2455|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Plantt|  楼主 | 2017-12-19 11:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
RGB灯驱动芯片P9813驱动程序


Gokit3S的微控制器仍然是STM32F103C8T6。STM32开发环境的建立和工程创建就不做演示了。网络上一大把的教材,需要的同学可以自行去搜索一下。本篇开始对外围设备驱动程序的编写。一切板子从点灯开始 - - ,这里要点亮的是板子上RGB三色灯。其驱动芯片使用的是P9813 。P8913是两线串行通讯,但并不是IIC接口。具体通讯要按照芯片手册上的时序图来编写。P9813的手册也比较简单。我直接贴上他的时序。

驱动的时序图如下图所示:


RGB三色灯的电路原理图如下:



这里先写一个延时程序,让RGB灯每过一秒钟变一次颜色。阻塞式延时比较LOW,浪费CPU时间。这里用定时器做一个非阻塞式延时。其他部分程序比较长的时候延时时间会不准,不过具体场合具体应用。做类似嵌入式系统里的绝对延时的方式也可以。这里写个简单的。

初始化定时器:


设置计时开始函数:


查询计时函数:


清除计时函数:


初始化P9813接口:


P9813驱动程序:



主程序改变颜色:


相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

637

主题

901

帖子

4

粉丝