ili9806 stm32驱动ili9341框图 怎么切换为横竖屏

查看: 1115|回复: 6
求教:液晶ILI9806G用STM32F407VET6读取ID不正确
主题帖子精华
中级会员, 积分 337, 距离下一级还需 163 积分
在线时间67 小时
在STM32F103上可以正确读取ID,液晶可以正常显示,驱动是没有问题的。但移植到STM32F407VET6的时候,读取ID返回的是0XE00F,正确的应该是0x9086,难道是我的配置错误了,麻烦各位大神指导下
引脚连接如下:
CS -& PD7& && &&&RS -& PD11& && &&&WR -& PD5& && &&&RD -&PD4& && &&&RESET -& PD13&&
DB0 -& PD14& & DB1 -& PD15& && &DB2 -& PD0& && & DB3 -& PD1& && &DB4 -& PE7
DB5 -& PE8& && &DB6 -& PE9& && &&&DB7 -& PE10& && &DB8 -& PE11& &&&DB9 -& PE12
DB10 -&PE13& & DB11 -& PE14& &&&DB12 -& PE15& & DB13 -& PD8
DB14 -& PD9& & DB15 -&PD10& && &LCD_BL -& PA8
(74.01 KB, 下载次数: 4)
09:16 上传
(77.43 KB, 下载次数: 2)
09:23 上传
(93.59 KB, 下载次数: 0)
09:23 上传
(35.94 KB, 下载次数: 0)
09:23 上传
(104.17 KB, 下载次数: 0)
09:23 上传
主题帖子精华
初级会员, 积分 99, 距离下一级还需 101 积分
在线时间13 小时
& & & & WriteComm(0XD3);& & & & //ID寄存器地址
& & & & lcddev.id=LCD_RD_DATA();& & & & //dummy read & & & &
& & & & lcddev.id=LCD_RD_DATA();& & & & //读取0x00
& & & & lcddev.id=LCD_RD_DATA();& && & & & //读取98
& & & & lcddev.id&&=8;& & & &
& & & & lcddev.id|=LCD_RD_DATA();&&& & & & //读取06&&
主题帖子精华
中级会员, 积分 337, 距离下一级还需 163 积分
在线时间67 小时
问题解决了,将时间改大点
& & p.FSMC_AddressSetupTime = 0x09;& & & &&&//地址建立时间
& & p.FSMC_AddressHoldTime = 0x00;& & & &&&//地址保持时间
& & p.FSMC_DataSetupTime = 0x08;& & & & & & & &&&//数据建立时间
& & p.FSMC_BusTurnAroundDuration = 0x00;
& & p.FSMC_CLKDivision = 0x00;
& & p.FSMC_DataLatency = 0x00;
主题帖子精华
高级会员, 积分 628, 距离下一级还需 372 积分
在线时间124 小时
楼主可以教我怎么弄ili9806 的驱动吗?没弄过LCD的驱动,一头雾水。
主题帖子精华
初级会员, 积分 73, 距离下一级还需 127 积分
在线时间19 小时
DB16~DB23可以不用接吗?这不是数据口吗?
主题帖子精华
初级会员, 积分 73, 距离下一级还需 127 积分
在线时间19 小时
M0M1M2可以设定 好吧~
主题帖子精华
中级会员, 积分 475, 距离下一级还需 25 积分
在线时间80 小时
楼主可以给一份驱动代码吗,我的搞了好几天搞不出来,万分感谢啊
Powered by查看: 778|回复: 12
ILI9806驱动代码分享
主题帖子精华
中级会员, 积分 337, 距离下一级还需 163 积分
在线时间67 小时
分享ILI9806驱动代码一份
补充内容 ( 11:37):
17:36 上传
点击文件名下载附件
91 Bytes, 下载次数: 237
主题帖子精华
金钱118299
在线时间923 小时
主题帖子精华
高级会员, 积分 628, 距离下一级还需 372 积分
在线时间124 小时
楼主,我已下载,解压后我就笑了,只是空文件夹,看看就笑了
主题帖子精华
初级会员, 积分 140, 距离下一级还需 60 积分
在线时间33 小时
无语~~~~~~~~~~~~~
ILI9806驱动代码
//************* 启动初始序列 **********//
//extC命令集使登记
WriteComm(0xFF);&&
WriteData(0xFF);
WriteData(0x98);
WriteData(0x06);
//SPI接口设置
WriteComm(0xBA);&&
WriteData(0xE0);
WriteComm(0xBC);
WriteData(0x03);
WriteData(0x0F);
WriteData(0x63);
WriteData(0x69);
WriteData(0x01);
WriteData(0x01);
WriteData(0x1B);
WriteData(0x11);
WriteData(0x70);
WriteData(0x73);
WriteData(0xFF);
WriteData(0xFF);
WriteData(0x08);
WriteData(0x09);
WriteData(0x05);
WriteData(0x00);
WriteData(0xEE);
WriteData(0xE2);
WriteData(0x01);
WriteData(0x00);
WriteData(0xC1);
WriteComm(0xBD);
WriteData(0x01);
WriteData(0x23);
WriteData(0x45);
WriteData(0x67);
WriteData(0x01);
WriteData(0x23);
WriteData(0x45);
WriteData(0x67);
WriteComm(0xBE);
WriteData(0x00);
WriteData(0x22);
WriteData(0x27);
WriteData(0x6A);
WriteData(0xBC);
WriteData(0xD8);
WriteData(0x92);
WriteData(0x22);
WriteData(0x22);
WriteComm(0xC7);
WriteData(0x1E);
//EN_volt_reg
WriteComm(0xED);
WriteData(0x7F);
WriteData(0x0F);
WriteData(0x00);
//功率控制1
WriteComm(0xC0);
WriteData(0xE3);
WriteData(0x0B);
WriteData(0x00);
WriteComm(0xFC);
WriteData(0x08);
//工程设置
WriteComm(0xDF);&&
WriteData(0x00);
WriteData(0x00);
WriteData(0x00);
WriteData(0x00);
WriteData(0x00);
WriteData(0x02);
//DVDD电压设定
WriteComm(0xF3);
WriteData(0x74);
//显示反转控制
WriteComm(0xB4);
WriteData(0x00);
WriteData(0x00);
WriteData(0x00);
WriteComm(0xF7);
WriteData(0x81);
WriteComm(0xB1);
WriteData(0x00);
WriteData(0x10);
WriteData(0x14);
//面板时序控制
WriteComm(0xF1);
WriteData(0x29);
WriteData(0x8A);
WriteData(0x07);
//面板时序控制
WriteComm(0xF2);
WriteData(0x40);
WriteData(0xD2);
WriteData(0x50);
WriteData(0x28);
//功率控制2
WriteComm(0xC1);
WriteData(0x17);
WriteData(0X85);
WriteData(0x85);
WriteData(0x20);
WriteComm(0xE0);
WriteData(0x00); //P1
WriteData(0x0C); //P2
WriteData(0x15); //P3
WriteData(0x0D); //P4
WriteData(0x0F); //P5
WriteData(0x0C); //P6
WriteData(0x07); //P7
WriteData(0x05); //P8
WriteData(0x07); //P9
WriteData(0x0B); //P10
WriteData(0x10); //P11
WriteData(0x10); //P12
WriteData(0x0D); //P13
WriteData(0x17); //P14
WriteData(0x0F); //P15
WriteData(0x00); //P16
WriteComm(0xE1);
WriteData(0x00); //P1
WriteData(0x0D); //P2
WriteData(0x15); //P3
WriteData(0x0E); //P4
WriteData(0x10); //P5
WriteData(0x0D); //P6
WriteData(0x08); //P7
WriteData(0x06); //P8
WriteData(0x07); //P9
WriteData(0x0C); //P10
WriteData(0x11); //P11
WriteData(0x11); //P12
WriteData(0x0E); //P13
WriteData(0x17); //P14
WriteData(0x0F); //P15
WriteData(0x00); //P16
//撕裂效果
WriteComm(0x35);
WriteData(0x00);
WriteComm(0x36);
WriteData(0x60);
WriteComm(0x3A);
WriteData(0x55);
//退出睡眠
WriteComm(0x11);
LCD_delay(120);
WriteComm(0x29);
主题帖子精华
中级会员, 积分 337, 距离下一级还需 163 积分
在线时间67 小时
楼主,我已下载,解压后我就笑了,只是空文件夹,看看就笑了
没注意,怎么补发
主题帖子精华
高级会员, 积分 628, 距离下一级还需 372 积分
在线时间124 小时
没注意,怎么补发
是这样的,不知为何我读取的ID居然为0,背光有亮,这会是什么原因呢?请楼主教教我行吗?
主题帖子精华
初级会员, 积分 140, 距离下一级还需 60 积分
在线时间33 小时
& & & & //读取LCD ID
&&if(lcddev.id&0xFF||lcddev.id==0xFFFF)//读到ID不正确
& & & & {& & & &
& & & & & & & & WriteComm(0xD3);& & & & & & & & & & & & & & & && &
& & & & & & & & lcddev.id=ReadData();& & & &
& & & & & & & & lcddev.id=ReadData();& & & & & & & & //读到0x00
& & & & & & & & lcddev.id=ReadData();& & & & & & & & //读到0x98& & & & & & & & & & & & & & & & & & & & & & & & & & & && &
& & & & & & & & lcddev.id&&=8;
& & & & & & & & lcddev.id|=ReadData(); & & & & //读到0x06& && & & & & & & & & & & && &
& & & & & & & & if(lcddev.id!=0x9806)
& & & & & & & & {& & & &
& & & & & & & & & & & & WriteComm(0xDA00);& & & &
& & & & & & & & & & & & lcddev.id=ReadData();& & & & //读回0x00& & & &&&
& & & & & & & & & & & & WriteComm(0xDB00);& & & &
& & & & & & & & & & & & lcddev.id=ReadData();& & & & //读回0x80
& & & & & & & & & & & & lcddev.id&&=8;& & & &
& & & & & & & & & & & & WriteComm(0xDC00);& & & &
& & & & & & & & & & & & lcddev.id|=ReadData();& & & & //读回0x00& & & & & & & &
& & & & & & & & & & & & if(lcddev.id==0x8000)lcddev.id=0x5510;
& & & & & & & & & & & & else lcddev.id=LCDID;
& & & & & & & & }
主题帖子精华
高级会员, 积分 628, 距离下一级还需 372 积分
在线时间124 小时
//读取LCD ID
&&if(lcddev.id
很感谢的大神的帮助,在加入判断代码代码后,现在可以正常显示,代码已经调通。
现在是有点疑问?那就是DA DB DC的指令问题,因为经测试代码如下
if(lcddev.id!=0x9806)
& && && && && & {& && &&&
& && && && && && && && &WriteComm(0xDA00);& && &&&
& && && && && && && && &lcddev.id=ReadData();& && &&&//读回0x00& && && &
& && && && && && && && &WriteComm(0xDB00);& && &&&
& && && && && && && && &lcddev.id=ReadData();& && &&&//读回0x80
& && && && && && && && &lcddev.id&&=8;& && &&&
& && && && && && && && &WriteComm(0xDC00);& && &&&
& && && && && && && && &lcddev.id|=ReadData();& && &&&//读回0x00& && &
& && && && && &printf(& LCD ID:%x\r\n&,lcddev.id); //打印LCD ID
& && && && && && && && &if(lcddev.id==0x8000)lcddev.id=0x5510;
& && && && && && && && &else lcddev.id=LCDID;
& && && && && & }
串口输出的结果是
LCD ID:9806
疑问就是既然读取的值为0,为何还要直接用DA DB DC指令来读???
而像DA这些指令的作用是:用于跟踪/液晶模块驱动程序的版本。这是定义的供应商(与用户协议)和显示每次修改的变化显示,材料或施工规范。
这里面有隐藏了哪些信息??
主题帖子精华
初级会员, 积分 140, 距离下一级还需 60 积分
在线时间33 小时
WriteComm(0xDA00);& && &&&
lcddev.id=ReadData();& && &&&//读回0x00& && && &
WriteComm(0xDB00);& && &&&
lcddev.id=ReadData();& && &&&//读回0x80
lcddev.id&&=8;& && &&&
WriteComm(0xDC00);& && &&&
lcddev.id|=ReadData();& && &&&//读回0x00& && && && && &
if(lcddev.id==0x8000)lcddev.id=0x5510;
else lcddev.id=LCDID;
这段代码是用来适配我别一块35510的屏&&其实你不用管它
如果只是9806代码就是
WriteComm(0xD3);& && && && && && && && && && && &&&
lcddev.id=ReadData();& && &&&
lcddev.id=ReadData();& && && && && & //读到0x00
lcddev.id=ReadData();& && && && && & //读到0x98& && && && && && && && && && && && && && && && && && && &&&
lcddev.id&&=8;
lcddev.id|=ReadData();& && && &//读到0x06& &&&
主题帖子精华
初级会员, 积分 55, 距离下一级还需 145 积分
在线时间8 小时
//读取LCD ID
&&if(lcddev.id
谢了,高手多的论坛学的快
主题帖子精华
中级会员, 积分 475, 距离下一级还需 25 积分
在线时间80 小时
能不能帮忙重新长传下呢,或者发给我邮箱,Thanks♪(・ω・)ノ
主题帖子精华
中级会员, 积分 337, 距离下一级还需 163 积分
在线时间67 小时
补发文件。。。。
11:48 上传
点击文件名下载附件
6.94 KB, 下载次数: 116
主题帖子精华
中级会员, 积分 475, 距离下一级还需 25 积分
在线时间80 小时
无语~~~~~~~~~~~~~
ILI9806驱动代码
大神,求一份全部的代码,折腾好几天了,手都抖了
Powered by查看: 45|回复: 1
ili9806驱动源码stm32f4(打点,读点,显示字符串,两点连线,填充等)
stm32 f407驱动ili9806驱动代码
01:40 上传
点击文件名下载附件
下载积分: 黑币 -5
8.12 KB, 下载次数: 1, 下载积分: 黑币 -5
共享资料的黑币奖励!
谢谢分享!正需要。
Powered by查看: 1230|回复: 6
请教一下ILI9325液晶屏怎么设置成横屏
主题帖子精华
初级会员, 积分 64, 距离下一级还需 136 积分
在线时间15 小时
新手,请教一下液晶改成横屏显示需要改9325的哪个寄存器,按手册只改了R03寄存器,没有实现横屏,是不是还需要改其它寄存器?谢谢
扫描方向寄存器,另外也可以在显示驱动中自行变换下xy坐标
主题帖子精华
在线时间137 小时
扫描方向寄存器,另外也可以在显示驱动中自行变换下xy坐标
主题帖子精华
初级会员, 积分 64, 距离下一级还需 136 积分
在线时间15 小时
没人回答自己顶
主题帖子精华
新手上路, 积分 26, 距离下一级还需 24 积分
在线时间0 小时
X,Y坐标翻转下。
主题帖子精华
初级会员, 积分 64, 距离下一级还需 136 积分
在线时间15 小时
X,Y坐标翻转下。
请教,写9325的哪个寄存器?
主题帖子精华
高级会员, 积分 661, 距离下一级还需 339 积分
在线时间123 小时
扫描方向寄存器,另外也可以在显示驱动中自行变换下xy坐标
请问,怎么配置TFTLCD的非显示区的地方,我用的是ILI9325作为驱动
主题帖子精华
初级会员, 积分 130, 距离下一级还需 70 积分
在线时间17 小时
解决了吗,可以翻转X,Y来实现,不过要注意不能超出范围
Powered by相关文章推荐
使用STM32配置ILI9325LCD驱动芯片的每一项参数的代码。
上下选择,左右调整参数。
此代码需要STM32F10x_StdPeriph_Lib_V3.5.0。
代码和库文件的放置可参考:
FSMC全称“静态存储器控制器”。使用FSMC控制器后,可以把FSMC提供的FSMC_A[25:0]作为地址线,而把FSMC提供的FSMC_D[15:0]作为数据总线。(1)当存储数据设为8位时,(F...
祝大家端午和六一快乐!原本今天是想休息休息的,但是实在无奈没什么事干.所以就来学习学习LCD显示图片的函数
函数是照搬奋斗的例子,算是些笔记吧.不过奋斗的例子注释的不是很详细.今天去看了正点原子的论...
看了TFTLCD和FSMC(灵活的静态存储控制器)的简介,还是一知半解,不知所云。
TFTLCD使用80并口,80 并口有如下一些信号线:
CS: TFTLCD 片选信号。
WR:向 TFTLC...
如果你想在Activity中得到新打开Activity关闭后返回的数据,你需要使用系统提供的startActivityForResult(Intent
intent,int requestCode...
LCD/LCM的基本概念
液晶显示器(Liquid Crystal Display: LCD)的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透...
STM32学习笔记(6):LCD的显示
日 LCD显示
LCD/LCM的基本概念
液晶显示器(Liquid Crystal Display: LCD)...
STM32学习笔记(6):LCD的显示
日 LCD显示
1. LCD/LCM的基本概念
液晶显示器(Liquid Crystal Display: LCD)的构造是在两片平行...
原文地址:.cn/s/blog_60evb8.html
怎样将整型变量转换为字符变量 然后串口 或者LCD发送出来(STM32) 以及...
原文地址:.cn/s/blog_60evb8.html
怎样将整型变量转换为字符变量 然后串口 或者LCD发送出来(STM32) 以及sp...
他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)

我要回帖

更多关于 ili9325 stm32例程 的文章

 

随机推荐