874|4

2934

帖子

4

TA的资源

五彩晶圆(中级)

楼主
 

【NUCLEO-U083RC】SPI总线GC9A01屏 [复制链接]

测试介绍

该测试是测试STM32U083的SPI接口测试,测试使用的是GC9A01屏,该屏为SPI接口,

 

SPI接口除电源外:有5个引脚,SPI:CLK、MOSI,DC,CS、RESET引脚。

硬件使用STM32U083 MCU的NUCLEO-U083RC开发板,需要使用SPI外设,还有2个GPIO输出,CS引脚未使用。

 

测试的过程,是向屏幕输出不同色彩的图案。

硬件连接

外设SPI:SPI1,数据格式8bit,时钟分频:SCLK/2,速率:8Mbit/S,SPI_CLK:PB3,SPI_MOSI:PB5,模式使用:SPI MODE MASTER 传输模式

DC命令/数据:GPIO PB4

REST:GPIO PB10

测试设置

SPI设置,SPI1,MASTER 传输模式

 

GPIO设置

 

 

测试程序

程序的主要驱动为GC9A01.C程序。

引用图形程序

/* USER CODE END WHILE */

    color[0] = 0xFF;

    color[1] = 0xFF;

    for (int x = 0; x < 240; x++) {

        for (int y = 0; y < 240; y++) {

            if (x < y) {

                color[2] = 0xFF;

            } else {

                color[2] = 0x00;

            }

            if (x == 0 && y == 0) {

                GC9A01_write(color, sizeof(color));

            } else {

                GC9A01_write_continue(color, sizeof(color));

            }

        }

    }

              HAL_Delay(100);

              float frequency = 0.026;

    for (int x = 0; x < 240; x++) {

        color[0] = sin(frequency*x + 0) * 127 + 128;

        color[1] = sin(frequency*x + 2) * 127 + 128;

        color[2] = sin(frequency*x + 4) * 127 + 128;

        for (int y = 0; y < 240; y++) {

            if (x == 0 && y == 0) {

                GC9A01_write(color, sizeof(color));

            } else {

                GC9A01_write_continue(color, sizeof(color));

            }

        }

    }

             

              // Checkerboard

    for (int x = 0; x < 240; x++) {

        for (int y = 0; y < 240; y++) {

            if ((x / 10) % 2 ==  (y / 10) % 2) {

                color[0] = 0xFF;

                color[1] = 0xFF;

                color[2] = 0xFF;

            } else {

                color[0] = 0x00;

                color[1] = 0x00;

                color[2] = 0x00;

            }

            if (x == 0 && y == 0) {

                GC9A01_write(color, sizeof(color));

            } else {

                GC9A01_write_continue(color, sizeof(color));

            }

        }

    }

             

              color[0] = 0xFF;

    for (int x = 0; x < 240; x++) {

        for (int y = 0; y < 240; y++) {

            if ((x >= 1*48 && x < 4*48 && y >= 2*48 && y < 3*48) ||

                (x >= 2*48 && x < 3*48 && y >= 1*48 && y < 4*48)) {

                color[1] = 0xFF;

                color[2] = 0xFF;

            } else {

                color[1] = 0x00;

                color[2] = 0x00;

            }

            if (x == 0 && y == 0) {

                GC9A01_write(color, sizeof(color));

            } else {

                GC9A01_write_continue(color, sizeof(color));

            }

        }

    }

              GC9A01_write_command(0x20);

 

 

测试过程

程序烧入MCU中

 本次测试屏的显示刷新速率有点慢。

 

 

此帖出自stm32/stm8论坛

最新回复

进展如何啊  最近也在搞这个屏     详情 回复 发表于 2024-7-26 14:32
点赞 关注
 

回复
举报

6969

帖子

11

TA的资源

版主

沙发
 

本次测试屏的显示刷新速率有点慢。是硬件spi传输吗?

此帖出自stm32/stm8论坛

点评

不是SPI的问题是,刷新方案问题。我正在解决。  详情 回复 发表于 2024-6-3 09:05
 
 

回复

2934

帖子

4

TA的资源

五彩晶圆(中级)

板凳
 
lugl4313820 发表于 2024-6-2 21:22 本次测试屏的显示刷新速率有点慢。是硬件spi传输吗?
不是SPI的问题是,刷新方案问题。我正在解决。 spidma.zip (5.52 MB, 下载次数: 3)
此帖出自stm32/stm8论坛

点评

感谢感谢,我也买了一个这样的屏,到时跟你学习一下。  详情 回复 发表于 2024-6-3 09:25
 
 

回复

6969

帖子

11

TA的资源

版主

4
 
bigbat 发表于 2024-6-3 09:05 不是SPI的问题是,刷新方案问题。我正在解决。

感谢感谢,我也买了一个这样的屏,到时跟你学习一下。

此帖出自stm32/stm8论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 
bigbat 发表于 2024-6-3 09:05 不是SPI的问题是,刷新方案问题。我正在解决。

进展如何啊  最近也在搞这个屏

 

此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
推荐帖子
51单片机特殊单元隐含的秘密

一个原始的计算机指令本来是应该这样来编码的: 指令码头\目标存储位置\第一操作数\第二操作数\下一条指令的地址 但由于计 ...

MSP430低功耗红外报警系统,单电池工作很久哦~

打算做一套红外报警装置:通过红外线来判断是否遮挡,如果挡住了就发出声音警报。分成2部分:发射机每10ms发射一个红外脉冲,接 ...

浅析MSP430系列单片机的功能框图

本帖最后由 tiankai001 于 2018-12-6 16:55 编辑 此内容由EEWORLD论坛网友tiankai001原创,如需转载或用于商业用途需征得 ...

MSP430F5438A升级失败

为了采用中断向量重映射,而不是重写中断向量表,因此APP程序和BSL程序使用的中断不同。 项目过程遇到一个棘手问题:升级成 ...

正式入坑FPGA,说说这些天的经历

本帖最后由 littleshrimp 于 2020-4-3 15:26 编辑 这些年一直想玩玩高速AD采集,因为没弄过FPGA很多时候都放着现成的ADC用不 ...

VGA汉字显示.pdf

VGA汉字显示.pdf

[HPM-DIY]littlevgl benchmark比分? 先楫hpm6750 or 意法stm32h747 winer?

本帖最后由 RCSN 于 2022-8-6 15:55 编辑 对比数据这种,其实也没啥必要,但是趋于好奇心,也搞个对比数据看看,需要说明的 ...

UPS不间断电源

UPS,就是不间断电源。通常是弱电机房工程子系统之一,是将蓄电池与主机设备相连接,主要用于给设备提供稳定、 ...

【国民技术N32G430】6、移植FreeRtos

【目的】移植freertos到N32G430开发板上,并实现一个LED闪烁的基本例程: 1、新建一个空白文件夹,用于存放工程,文件夹下新 ...

【NUCLEO H533RE】OLED SSD1306屏SPI接口测试

1、测试介绍 本次测试主要为NUCLEO-H533RE的SPI接口外设 Master Half-Duplex模式测试,测试验证SPI的编程流程。测试使用了0.9 ...

关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表