欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: st7735s顏色排列倒著怎么解決 [打印本頁]

作者: 3253087609ydrq    時間: 2024-10-4 01:10
標題: st7735s顏色排列倒著怎么解決
程序里的顏色和圖片數據是按照紅綠藍的順序組成數組,但是到了屏幕上就變成了藍綠紅排列,怎么解決
圖片數組存儲格式
顯示圖片函數
費了一個多小時才算明白的16位RGB轉BGR但是思路錯了,沒用
如果能給出代碼那自然是最好的

IMG20241004005721.jpg (1.82 MB, 下載次數: 6)

IMG20241004005721.jpg

IMG20241004005915.jpg (2.06 MB, 下載次數: 4)

IMG20241004005915.jpg

IMG20241004005805.jpg (1.01 MB, 下載次數: 4)

IMG20241004005805.jpg

作者: rayin    時間: 2024-10-4 01:10
改一下顯示屏的初始化代碼,0x36指令,有一個bit可以設置顯示顏色是紅綠藍或藍綠紅。顯示數據不用做變換處理,做變換處理的方式會降低刷屏速度。
作者: johnhk97    時間: 2024-10-4 08:52
發一個7735顯示的圖,一個正常的圖看看
作者: 3253087609ydrq    時間: 2024-10-4 09:37
johnhk97 發表于 2024-10-4 08:52
發一個7735顯示的圖,一個正常的圖看看

問題已解決
作者: 3253087609ydrq    時間: 2024-10-4 09:38
johnhk97 發表于 2024-10-4 08:52
發一個7735顯示的圖,一個正常的圖看看

已解決

IMG20241004093723.jpg (758.76 KB, 下載次數: 3)

IMG20241004093723.jpg

作者: 人中狼    時間: 2024-10-4 09:57
RGB轉BGR應該做移位運算就可以了吧

作者: 3253087609ydrq    時間: 2024-10-4 10:18
人中狼 發表于 2024-10-4 09:57
RGB轉BGR應該做移位運算就可以了吧

這個方法我想過,但是它把一個完整的RGB565數據拆成兩個字節去存儲,中間的綠色的數據被拆成了兩半,想要做移位運算就只能把兩個字節拼起來重新組成一個完整的RGB565數據,移位后再輸出,但是屏幕整體上刷新速度也會有非常明顯的變慢。
作者: 3253087609ydrq    時間: 2024-10-4 10:22
原程序來自http://www.raoushi.com/bbs/dpj-184179-1.html
顏色排列倒序問題已解決,改了一下寫數據函數。
如果大家有更好的解決方法也可以發出來,懸賞依舊會懸賞除我以外方法最好的那個人

IMG20241004100609.jpg (1.44 MB, 下載次數: 6)

IMG20241004100609.jpg

作者: 兩儀式    時間: 2024-10-4 20:20
樓上說的對,用0x36寄存器,紅藍交換,通常都是用0x36寄存器的,你單純畫點沒什么,你要是用DMA快速刷別的,你就知道了
作者: 單片機研究協會    時間: 2024-10-5 23:29
把數組的類型改成unsigned int,arm芯片是小端模式,51是大端模式,把數組類型由原來的uint8_t 改成uint16_t就解決了
作者: 單片機研究協會    時間: 2024-10-5 23:33
第1個字節是低8位,第2個字節是高8位,這明顯是小端模式的存儲方式,用在arm芯片上是沒有問題的,你現在用的是8051芯片,8051芯片的數據存儲方式是大端模式,你要把數組的類型改一下,由原來的unsigned char改成unsigned int,數組里面的數據由8位改成16位,例如第1個數和第2個數據,由原來的0xDF,0xE7改成0xE7DF,這樣一顏色就恢復正常了,這樣改還有一個好處,就是一套源碼可以用在8051這種大端模式的芯片上,也可以用在arm這種小端模式的芯片上。




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1