okrgrjpz 发表于 2024-11-26 22:49:02

WS2812像素屏

WS2812像素屏,如何操作才能?
精确控制每一个像素点,不管这个屏幕的硬件排列方式,
独页方式,水平多页方式,垂直列寻址,以上三种方式,
像素控制算法,都能够实现显示内容,
正确不受硬件方式的影响,
有啥好方法提提建议,参考硬件排列图
{:5_284:}

VCC 发表于 2024-11-26 23:33:32

WS2812本来就是每个像素独立控制的。

逻辑顺序就是每个灯珠逐一级联的顺序,这个顺序是不会错的。

不知道你想探讨什么?

okrgrjpz 发表于 2024-11-27 00:49:18

VCC 发表于 2024-11-26 23:33
WS2812本来就是每个像素独立控制的。

逻辑顺序就是每个灯珠逐一级联的顺序,这个顺序是不会错的。


毕竟有的,像素屏的硬件排列,就像我发的屏幕参考图一样,并不是完全一样的排列方式,显示同样的画面,就会出错,就是想找一种方式,能够解决这种问题

soma 发表于 2024-11-27 09:39:44

感觉大部分都是第二种吧,水平多页寻址的

bkeuqoaq 发表于 2024-11-27 09:59:26

建个映像RAM,先操作RAM再将RAM发送显示,但不同的排列方式仍要移植代码

okrgrjpz 发表于 2024-11-27 21:30:14

wnagming 发表于 2024-11-27 08:00
建立缓存,显示时将数据写入缓存,向屏幕发送时根据屏幕硬件排列读取缓存就行 ...

非常感谢你们提供的方法

okrgrjpz 发表于 2024-11-27 21:31:02

soma 发表于 2024-11-27 09:39
感觉大部分都是第二种吧,水平多页寻址的

毕竟像素屏的硬件,做的人太多,各种千奇百怪的方式排列都有,用户只能在软件上面想办法了

王昱顺 发表于 2024-11-27 21:45:22

okrgrjpz 发表于 2024-11-27 00:49
毕竟有的,像素屏的硬件排列,就像我发的屏幕参考图一样,并不是完全一样的排列方式,显示同样的画面,就 ...

本质上还是需要建立缓存,为了适应不同排列方式,就需要有一个显示缓存
一个作为原本的数据,可以是code区域存储的固定数据,或者是spi-flash存储的数据,亦或是生成方式存储到ram的数据,这部分的排列是已知的。

然后就是通过程序对排列组合进行矫正。这里建议通过二维数组的方式对原始数组进行访问。
可以通过不同的循环遍历方式完成原始数据到显示缓存部分的转换,即可适配不同的排列方式。
不过对数据进行重新排布必然会浪费掉一部分的性能。

STC企鹅 发表于 2024-12-8 23:59:56

<p>感谢分享<img alt="baoquan" class="emoji" src="https://www.stcaimcu.com/static/image/smiley/default/baoquan.gif" title="baoquan" /></p>
页: [1]
查看完整版本: WS2812像素屏