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


相关推荐

  • Mysql几种索引类型的区别及适用情况

    Mysql几种索引类型的区别及适用情况如大家所知道的,Mysql目前主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。那么,这几种索引有什么功能和性能上的不同呢?FULLTEXT即为全文索引,目前只有MyISAM引擎支持。其可以在CREATETABLE,ALTERTABLE,CREATEINDEX使用,不过目前只有CHAR、VARCHAR,TEXT列上可以创建全文索引。值得一提的

    2022年6月10日
    27
  • 嵌入式linux基础学习全套精品视频教程

    嵌入式linux基础学习全套精品视频教程嵌入式linux基础学习全套精品视频教程在给大家分享教程之前,首先给大家简要的介绍一下嵌入式linux,嵌入式linux是将日益流行的Linux操作系统进行裁剪修改,使之能在嵌入式计算机系统上运行的一种操作系统。嵌入式linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。本教程是嵌入式linux基础学习全套精品视频教程,比较适合嵌入式初级学员们学习,需要

    2022年5月16日
    50
  • JS后退一页, JS返回上一页, JS返回下一页代码[通俗易懂]

    JS后退一页, JS返回上一页, JS返回下一页代码[通俗易懂]Javascript返回上一页:1.history.go(-1),返回两个页面:history.go(-2);2.history.back().3.window.history.forward()返回下一页4.window.history.go(返回第几页,也可以使用访问过的URL)例:&lt;ahref="javascript:history.go(-1);"…

    2022年7月25日
    10
  • java向上取整小例子

    java向上取整小例子inttimes=(int)Math.ceil((double)1023/(double)100);如果不double强转的话就是int类型计算结果就是直接取整100如果加double强转就是double类型计算对结果向上取整便是101Math.floor向下取整Math.round四舍五入Math.ceil向上取整

    2022年6月21日
    27
  • 单片机毕业设计196例「建议收藏」

    单片机毕业设计196例「建议收藏」单片机本科毕业设计——心率计(脉搏测量仪)系统设计与实现(源代码+protues仿真+PCB+开题报告+讲解视频).zip,相关下载链接:https://download.csdn.net/download/dwf1354046363/72630770单片机本科毕业设计——声控灯(继电器)控制系统设计与实现(源代码+protues仿真+PCB+开题报告+讲解视频).zip,相关下载链接:https://download.csdn.net/download/dwf1354046363/72620013单片

    2022年10月4日
    7
  • Hmily 源码解析 (三) —— himly事务上下文

    Hmily 源码解析 (三) —— himly事务上下文目录1.HmilyTransactionContexthimly事务上下文,在一个线程内只有唯一实例。在线程内时不时的需要获取事务的id及角色状态等信息。如果作为参数在函数中传递并不合适,并且由于切面,拦截器等等编程方式也无法依靠该方式获取所需要的信息。hmily采用的方式是将所需要的信息封装为一个实体,这个实体就是HmilyTransactionContext。并将HmilyTr…

    2022年5月21日
    41

发表回复

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

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