你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

[NUCLEO-C031C6评测] 驱动LCD 第三步 显示颜色块

[复制链接]
dvacos 发布时间:2024-4-3 18:36

如何显示图片

在成功初始化屏幕后,就是想要显示图片了,所以需要将图片转为像素点,使用SPI发送出去,图片就可以正常显示了吗?答案是不行的!!在这一步之前我们需要了解、确认显示图片的前置条件。

直接将十六进制数发送屏幕驱动IC,屏幕驱动IC要怎么去排列、显示这些像素(颜色)呢?所以我们要提前约定好。

屏幕驱动IC配置

屏幕驱动IC寄存器

1、像素刷新顺序示意图

image.png

2、像素刷新顺序配置寄存器image.png

按照上图,我们就可以知道配置MX MY MZ这三位数据就可以,控制屏幕显示的像素顺序,目前大多数(默认)的情况下,都是从左到右,从上到下的依次去刷新像素点。

解决了像素刷新顺序的问题后,我们就可以正常显示了吗? 不可以。。

因为目前还不知道要显示的X Y的开始和结束坐标,那这些像素要显示在那个区域呢?

所以我们还要设置X起始X结束,Y起始Y结束 坐标,相关寄存器如下

image.png

image.png完成以上两个寄存器的设置我们就可以开始测试了!

实验

实验代码如下:

    for(int a=0;a<240*296 ;a++){
        HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_Pin, GPIO_PIN_RESET);

        HAL_SPI_Transmit(&hspi1,&lcd_black[0],2,100);

        HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_Pin, GPIO_PIN_SET);
    }

    SetWindow(100,100,31-1,36-1);
    for(int bb=0;bb<279;bb++){
        HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_Pin, GPIO_PIN_RESET);
        HAL_SPI_Transmit(&hspi1,&lcd_red[0],2,100);

        HAL_GPIO_WritePin(SPI_CS_GPIO_Port, SPI_CS_Pin, GPIO_PIN_SET);
    }

image.png

实验效果如上,完美达成!!!

收藏 评论0 发布时间:2024-4-3 18:36

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版