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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html5数字和颜色输入框

    html5功能强大,数字和颜色输入框例子效果:http://hovertree.com/code/html5/rxujb6g8.htm1<!DOCTYPEhtml>2<h

    2021年12月22日
    40
  • matlab一阶惯性滤波,为什么一阶惯性环节也具有滤波的作用

    matlab一阶惯性滤波,为什么一阶惯性环节也具有滤波的作用在用simulink搭建模型的时候,发现一阶惯性环节具有滤波的作用,这是为什么呢?我们以一阶惯性环节200pi/(s+200pi)为例进行说明。首先从传递函数G(s)的频率特性说起。所谓系统的频率特性,是指系统在单位正弦相量作用下的稳态响应。因此,令传递函数中的s=jw,就可以得到系统的频率特性G(jw)。G(jw)是频率w的复变函数。他的幅值为|G(jw)|,相角为相角(G(jw))。当w从0到…

    2022年10月5日
    0
  • JavaScript RegExp对象

    JavaScript RegExp对象

    2021年12月14日
    39
  • SpringBoot面试题(持续整理中……)「建议收藏」

    SpringBoot面试题(持续整理中……)「建议收藏」SpringBoot是微服务中最好的Java框架。为了更好的理解与使用SpringBoot,同时,为了记录平时的点点滴滴,便于日后的面试!1、什么是SpringBoot?用来简化Spring应用的初始搭建以及开发过程,使用特定的方式来进行配置创建独立的Spring引用程序main方法运行嵌入的tomcat无需部署war文件简化maven配置自动配置Spring添加对应的功能s…

    2022年6月7日
    23
  • LCD Keypad Shield

    LCD Keypad Shieldhttp://wiki.dfrobot.com.cn/index.php/(SKU:DFR0009)LCD_Keypad_Shield(Arduino兼容)简介LCDKeypadShield是一款提供2行16字符液晶显示的Arduino扩展板。扩展了多个按键输入,可供用户作为LCD显示屏的菜单选择按键或者操控按键使用。一个扩展板就能让你与Arduino设备进行互动。我们还扩展Ardui…

    2022年4月30日
    37
  • QT5编程入门教程(非常详细)「建议收藏」

    QT5编程入门教程(非常详细)「建议收藏」Qt是一个跨平台的C++框架(C++库),目前最新的版本是Qt5。Qt5还包含了很多小版本,其中推荐Qt5.6或Qt5.9,这两个版本是LTS版本(即长期支持版本),Bug较少,相对稳定。Qt除了支持界面设计(GUI编程),还封装了与网络编程、多线程、数据库连接、视频音频等相关的功能。这套Qt教程以Qt5.9为基础来介绍Qt开发,配有精美的图片以及完整的示例程序,几乎涉及Qt编程的所有模块。注意,本教程不再对C++语法进行介绍,没有C++基础的读者…

    2022年5月16日
    39

发表回复

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

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