新手上路
- 积分
- 33
- 金钱
- 33
- 注册时间
- 2024-4-25
- 在线时间
- 4 小时
|
本帖最后由 keh9441 于 2024-4-28 11:51 编辑
我使用战舰开发板跑了一个2.8寸TFTLCD的实验,没用FSMC,纯用IO模拟读写时序,发现显示的颜色有点错乱。写了一个刷屏函数lcd_wash(uint16_t color), 调用的时候发现color赋RED(0xF800),屏幕显示为蓝色,赋BLUE就显示为红色,但赋GREEN就还是GREEN,我估计是RGB三原色中R和B对调了个位置。照这个思路,由于CMYK中CMY是RGB两两相加得到的,我就在宏定义中把RED和BLUE的值对调,然后在程序中把RGB两两相加,屏幕显示CMYK都正常了。 我觉得是写入初始化序列里面伽马校正的问题,但是无奈,这原理真的不懂,有木有大神给个正常的初始化序列啊??感激不尽跪谢跪谢
(吐槽一下:战舰的LCD接口安排真的有大毛病,D0~D15就不能用一整组IO口吗。。。又是PD又是PE,七零八碎的,初始化和读写数据真的要我老命,学学MINI板多好啊,一组IO多方便,还有接口松动的问题,必须把LCD模块的排针给按实了,不然经常只有白屏,很影响使用体验啊)
|
|