st7789 旋转_有没有人调过 ST7789V驱动的显示屏啊「建议收藏」

本帖最后由quanhengwen于2019-9-511:15编辑可以在显示命令之前,手工进行全屏清屏操作,可以避免初始化花屏现象。自己部分代码SPI控制的分辨率为320*240横屏显示/******************************************************************************函数说明:LCD初始化函数入口数据:无返回…

大家好,又见面了,我是你们的朋友全栈君。

本帖最后由 quanhengwen 于 2019-9-5 11:15 编辑

可以在显示命令之前,手工进行全屏清屏操作,可以避免初始化花屏现象。 自己部分代码SPI控制的 分辨率为320*240 横屏显示

/******************************************************************************

函数说明:LCD初始化函数

入口数据:无

返回值:  无

******************************************************************************/

void ST7789Lcd_Init(void)

{

ST7789_GPIO_Config();

SPI3_Init();

SPI3_SetSpeed(SPI_BaudRatePrescaler_2);

SPI3_ReadWriteByte(0xff);

OLED_RST_Set();

delay_ms(20);

OLED_RST_Clr();

delay_ms(20);

OLED_RST_Set();

delay_ms(120);

//************************************************

ST7789_WR_REG(0x3A);        //65k mode

ST7789_WR_DATA(0x05);

ST7789_WR_REG(0xC5); //VCOM

ST7789_WR_DATA(0x1A);

ST7789_WR_REG(0x36);                 // 屏幕显示方向设置

ST7789_WR_DATA(0xA0);

//————-ST7789V Frame rate setting———–//

ST7789_WR_REG(0xb2);

ST7789_WR_DATA(0x05);

ST7789_WR_DATA(0x05);

ST7789_WR_DATA(0x00);

ST7789_WR_DATA(0x33);

ST7789_WR_DATA(0x33);

ST7789_WR_REG(0xb7);

ST7789_WR_DATA(0x35);

//————–ST7789V Power setting—————//

ST7789_WR_REG(0xBB);//VCOM

ST7789_WR_DATA(0x3F);

ST7789_WR_REG(0xC0); //Power control

ST7789_WR_DATA(0x2c);

ST7789_WR_REG(0xC2);

ST7789_WR_DATA(0x01);

ST7789_WR_REG(0xC3);

ST7789_WR_DATA(0x0F);//0D        gvdd

ST7789_WR_REG(0xC4);

ST7789_WR_DATA(0x20);

ST7789_WR_REG(0xC6);

ST7789_WR_DATA(0X11);//0x0F

ST7789_WR_REG(0xd0);

ST7789_WR_DATA(0xa4);

ST7789_WR_DATA(0xa1);

ST7789_WR_REG(0xE8);

ST7789_WR_DATA(0x03);

ST7789_WR_REG(0xE9);

ST7789_WR_DATA(0x09);

ST7789_WR_DATA(0x09);

ST7789_WR_DATA(0x08);

//—————ST7789V gamma setting————-//

ST7789_WR_REG(0xE0); //Set Gamma

ST7789_WR_DATA(0xD0);

ST7789_WR_DATA(0x05);

ST7789_WR_DATA(0x09);

ST7789_WR_DATA(0x09);

ST7789_WR_DATA(0x08);

ST7789_WR_DATA(0x14);

ST7789_WR_DATA(0x28);

ST7789_WR_DATA(0x33);

ST7789_WR_DATA(0x3F);

ST7789_WR_DATA(0x07);

ST7789_WR_DATA(0x13);

ST7789_WR_DATA(0x14);

ST7789_WR_DATA(0x28);

ST7789_WR_DATA(0x30);

ST7789_WR_REG(0XE1); //Set Gamma

ST7789_WR_DATA(0xD0);

ST7789_WR_DATA(0x05);

ST7789_WR_DATA(0x09);

ST7789_WR_DATA(0x09);

ST7789_WR_DATA(0x08);

ST7789_WR_DATA(0x03);

ST7789_WR_DATA(0x24);

ST7789_WR_DATA(0x32);

ST7789_WR_DATA(0x32);

ST7789_WR_DATA(0x3B);

ST7789_WR_DATA(0x14);

ST7789_WR_DATA(0x13);

ST7789_WR_DATA(0x28);

ST7789_WR_DATA(0x2F);

ST7789_WR_REG(0x21); //反显

ST7789_WR_REG(0x11);

delay_ms(120);      //Delay 120ms

LCD_Clear(BLACK);                        /*先手动清屏再显示,防止花屏显示*/

ST7789_WR_REG(0x29);         //开启显示

}

/******************************************************************************

函数说明:LCD写入数据

入口数据:dat 写入的数据

返回值:  无

******************************************************************************/

void ST7789_WR_DATA(u8 dat)

{

OLED_CS_Clr();

OLED_DC_Set();//写数据

SPI3_ReadWriteByte(dat);

OLED_CS_Set();

}

void ST7789_WR_MDATA(u16 dat)

{

OLED_CS_Clr();

OLED_DC_Set();//写数据

SPI3_ReadWriteByte(dat>>8);

SPI3_ReadWriteByte(dat);

OLED_CS_Set();

}

void LCD_Address_Set(u16 x1,u16 y1,u16 x2,u16 y2)

{

ST7789_WR_REG(0x2a);//列地址设置

ST7789_WR_MDATA(x1);

ST7789_WR_MDATA(x2);

ST7789_WR_REG(0x2b);//行地址设置

ST7789_WR_MDATA(y1);

ST7789_WR_MDATA(y2);

ST7789_WR_REG(0x2c);//储存器写

}

void LCD_Clear(u16 Color)

{

u16 i,j;

LCD_Address_Set(0,0,320,240);

for(i=0;i<240;i++)

{

for (j=0;j<320;j++)

{

ST7789_WR_MDATA(Color);

}

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/125733.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 终极对决!Dubbo 和 Spring Cloud 微服务架构到底孰优孰劣?「建议收藏」

    终极对决!Dubbo 和 Spring Cloud 微服务架构到底孰优孰劣?「建议收藏」前言核心部件1总体架构2微服务架构核心要素通讯协议1支持协议2性能比较服务依赖方式组件运行流程微服务架构组成以及注意事项1架构分解2注意事项总结前言微服务架构是互联网很热门的话题,是互联网技术发展的必然结果。它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。虽然微服务架构没有公认的技术标准和规范或者草案,但业界已经有一些很有影

    2022年6月19日
    28
  • 霍尔传感器测速代码_arduino直流电机调速

    霍尔传感器测速代码_arduino直流电机调速标题本人目前是一个大一菜鸟,零基础学的编码器方面,希望我的经验对你有些帮助。分享一下霍尔编码器电机的使用与测速,我用的是25GA-310直流减速电机带霍尔传感器。先来看一下最基本的接线方法————-S1与S2连接单片机上的S(我这里用的2号和3号,是中断引脚);——G与V连接单片机上的G与V(对着接就行);——VM与GM接航模电池的正极与负极;测速…

    2022年10月1日
    0
  • java 生成xml dom4j_Java生成xml——DOM4J生成

    java 生成xml dom4j_Java生成xml——DOM4J生成一、四种方式的总结【DOM】DOM方式生成xml是基于DOM树的结构,整个DOM树会存在内存中,所以使用DOM方式可以频繁的修改xml的内容,但是因为DOM树是存在内存中的,所以对内存消耗较大。DOM方式比较适用于需要频繁删改的情况。【SAX】SAX方式生成xml是逐步写一、DOM4J生成实例Dom4JToXmlDemo.javapublicclassDom4JToXmlDemo{p…

    2022年7月14日
    12
  • 公司的报表工具太难用,我三天撸了个Excel工具,运营小姐姐直呼太好用了,现已开源!!(建议收藏)

    公司的报表工具太难用,我三天撸了个Excel工具,运营小姐姐直呼太好用了,现已开源!!(建议收藏)冰河手把手教你撸Excel报表工具,俘获运营小姐姐的心,一起加油,搞起来!!冰河强烈建议收藏!!

    2022年6月28日
    24
  • 如何用python画一个心形图_python画心形名字

    如何用python画一个心形图_python画心形名字Python可以使用turtle库来画爱心。Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x、纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行的路径上绘制了图形。实现代码如下:fromturtleimport*pensize(1)pencolor(‘red’)fillcolor(‘pink…

    2022年9月7日
    0
  • java新手代码大全_java新手的一串代码「建议收藏」

    java新手代码大全_java新手的一串代码「建议收藏」importjava.util.*;importjava.io.*;abstractclassGood{Stringname;doubleprice;Good(Stringname,doubleprice){this.name=name;this.price=price;}}classBookextendsGood{Stringname;…importjava.util.*;importj…

    2022年6月21日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号