打印
[应用方案]

使用MS51 SPI 来模拟ARGB LED 的时序并实现呼吸灯效果

[复制链接]
338|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
s51, pi, RGB, LED, GB
分享的不仅仅是代码,而是背后的逻辑,如何使用SPI驱动,如何看着像呼吸的感觉。
EC_MS51_ARGB_Breathing_Effect_V1.00 (1).zip (1.48 MB)


SPI 时钟频率
程序中设定系统时钟HIRC 为24 MHz 以及SPI 时钟除频值为8,由此可计算出SPI 时钟速率为3 MHz,这代表一个SPI 时钟为 0.333 us。换句话说,逻辑’0’ 映像为SPI 位样式为‘1000’,如图 1‑4所示; 逻辑’1’ 映像为SPI 位样式为‘1110’,亦即3 个字节的RGB 数据格式可转化成12 个字节的SPI 数据格式。



使用特权

评论回复
沙发
zhuomuniao110|  楼主 | 2024-6-21 22:35 | 只看该作者
代码工作流程如下:
1. main.c 中初始化MS51 相关外设,包含HIRC、SPI、与 Timer 3
2. 在while循环中呼叫Breathing_TOPDOWN()来计算出相对应的ARGB LED 亮度
3. 使用 SPI_Send() 来模拟ARGB LED 时序

使用特权

评论回复
板凳
zhuomuniao110|  楼主 | 2024-6-21 22:36 | 只看该作者

使用特权

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

本版积分规则

197

主题

3286

帖子

10

粉丝