找回密码
 立即注册
搜索
热搜: RA8889 RA8876 RA8875
查看: 5|回复: 0

单片机写入数组图片显示异常

[复制链接]

7

主题

8

回帖

817

积分

版主

积分
817
发表于 5 小时前 | 显示全部楼层 |阅读模式
本帖最后由 weran 于 2026-2-11 13:54 编辑

问题:将图片转化成16bits_16bpp的数组,在使用MPU16_16bpp_Memory_Write();API函数显示数组图片时出现异常

异常显示:

异常

异常

正常显示如下:
arraypic2.jpg

排查问题:
造成显示异常有以下几种情况:
1.调用API的参数设置有误或者API的逻辑有被更改;
2.图片数组的转化模式与代码UserDef中通信以及色深模式设点不一致;
3.初始化函数中关于通信以及色深的设定有误;
4.通信读写函数异常造成数据传输缺失;

先看MPU16_16bpp_Memory_Write 参数设定是否正确与图片的宽高一致,再排查UserDef.h中通信与色深的宏定义与转化的数组是否一致,再看一下芯片初始化函数中关于通信以及色深的设定部分是否被更改与宏定义的设定不一致;这些没问题之后我用图片转化了一个8bits_16bpp的数组使用MPU8_16bpp_Memory_Write();API调用结果显示是正常的,那么应该是通信位数的问题,跳转到通信的读写函数发现定义数据的类型为char,在使用16bits通信时数据的高位直接丢失了,将char改为short之后16bits_16bpp的数组显示正常问题解决。

原通信函数:

        void LCD_CmdWrite(unsigned char cmd);
        void LCD_DataWrite(unsigned char data);
        unsigned char LCD_DataRead(void);
        unsigned char LCD_StatusRead(void);

修改后:
        void LCD_CmdWrite(unsigned short cmd);
        void LCD_DataWrite(unsigned short data);
        unsigned short LCD_DataRead(void);
        unsigned short LCD_StatusRead(void);




您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|Lcdvision Technology ( 苏ICP备10203891号 )

GMT+8, 2026-2-11 18:41 , Processed in 0.054606 second(s), 26 queries .

快速回复 返回顶部 返回列表