ws2812 LED灯编程

ws2812 LED灯编程,第1张

strip.setPixelColor(uint16_t n, uint8_t r, uint8_t g, uint8_t b)

第一个参数n是彩带中LED的编号,最接近单片机引脚的编号为0;接下来的三个参数描述像素颜色,分别表示红色、绿色和蓝色的亮度级别,0为最暗,255是最大亮度;

strip.setPixelColor(uint16_t n, uint32_t c)

n是彩带中LED的编号,颜色color是一种32位类亩敏型,将红迅首枝色,绿色和蓝色值合并为一个数字,有时这样做能提高程序的效率。通过下面的方法,可以将红色、绿色和蓝色值转换为32位类型。

uint32_t magenta = strip.Color(red, green, blue)

strip.setBrightness(uint8_t)

一般只在setup()中调用,以保证在整个程序执行过程中LED颜色亮度的一致性。其实,在程序中通过合适的逻辑控制各像素的亮度值,可能动画效果更好。

strip.show()

该方法更新彩带上的全部LED。一个好的习惯是先利用setPixelColor()设置好整个彩带的颜色,芹凳然后再调用show()方法,以防止出现动画跳跃而不平滑。

中断响应过程

a.接受中断请求。顷雹必须由软件中断(从程序代码)或硬件中断(从一个引脚或一个基于

芯片的设备)提出请求去暂停当前主程序的执行。

b.响应中断。必须能够响应中断请求。如果中断是可屏蔽的,则必须满足一定的条件,

按照一定的顺序去执行。而对于非可屏蔽中断和软银乎岁件中断,会立即作出响应。

c.准备执行中断服务程序锋睁并保存寄存器的值。

d.执行中断服务子程序。调用相应得中断服务程序ISR,进入预先规定的向量地址,并

且执行已写好的ISR。

3.中断类别

可屏蔽中断:这些中断可以用软件加以屏蔽或解除屏蔽。

不可屏蔽中断:这些中断不能够被屏蔽,将立即响应该类中断并转入相应的子程序去执

行。所有软件调用的中断都属于该类中断。

4.中断的优先级

如果多个中断被同时激发,将按照他们的中断优先级来提供服务。中断优先级是芯片内部

已定义好的,不可修改。

仅供参考


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8202562.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-14
下一篇2023-04-14

发表评论

登录后才能评论

评论列表(0条)

    保存