OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9486|回复: 6

TFT显示屏求教

[复制链接]

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2012-8-16
在线时间
21 小时
发表于 2012-8-16 17:20:58 | 显示全部楼层 |阅读模式
void LCD_WR_REG(u8 data)
{
 LCD_RS_CLR;//写地址 
  LCD_CS_CLR;
 DATAOUT(data);
 LCD_WR_CLR;
 LCD_WR_SET;
  LCD_CS_SET;  

void LCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue)

 LCD_WR_REG(LCD_Reg); 
 LCD_WR_DATA(LCD_RegValue);       
}   
//读寄存器
u16 LCD_ReadReg(u8 LCD_Reg)
{            
 u16 t;
 LCD_WR_REG(LCD_Reg);  //写入要读的寄存器号 
 GPIOB->CRL=0X88888888; //PB0-7  上拉输入
 GPIOB->CRH=0X88888888; //PB8-15 上拉输入
 GPIOB->ODR=0XFFFF;    //全部输出高




这几个关于写寄存器和读寄存器的函数谁能介绍一下啊,没有看明白,。。。。感激不尽
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

22

主题

107

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
215
金钱
215
注册时间
2012-4-17
在线时间
0 小时
发表于 2012-8-16 17:25:51 | 显示全部楼层
回复【楼主位】52635593:
---------------------------------
#define LCD_CS_SET  GPIOF->BSRR|=1<<12    //片选端口    B12  /CE
#define LCD_RS_SET GPIOF->BSRR|=1<<13    //数据/命令     B10  /A0  
#define LCD_WR_SET GPIOF->BSRR|=1<<11    //写数据  B13  /WE
#define LCD_RD_SET GPIOF->BSRR|=1<<15    //读数据  B14  /RE
    
#define LCD_CS_CLR  GPIOF->BRR|=1<<12     //片选端口        B12  /CE
#define LCD_RS_CLR GPIOF->BRR|=1<<13     //数据/命令         B10  /A0     
#define LCD_WR_CLR GPIOF->BRR|=1<<11     //写数据  B13  /WE
#define LCD_RD_CLR GPIOF->BRR|=1<<15     //读数据  B14  /RE

把这几个寄存器看懂了,你就明白了,当然了,我的IO 和你定义的不一样
回复 支持 反对

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2012-8-16
在线时间
21 小时
 楼主| 发表于 2012-8-16 17:29:51 | 显示全部楼层
回复【2楼】everyday666:
---------------------------------
谢谢,我先研究一会
回复 支持 反对

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2012-8-16
在线时间
21 小时
 楼主| 发表于 2012-8-16 18:20:37 | 显示全部楼层
回复【2楼】everyday666:
---------------------------------
#define DATAOUT(x) GPIOB->ODR=x; //数据输出
#define DATAIN     GPIOB->IDR;   //数据输入
向ODR寄存器写数据,他会自动输出吗,void LCD_WR_REG(u8 data)

 LCD_RS_CLR;//写地址  
  LCD_CS_CLR; 
 DATAOUT(data); 
 LCD_WR_CLR; 
 LCD_WR_SET; 
  LCD_CS_SET;是根据时序来的吗
回复 支持 反对

使用道具 举报

8

主题

27

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2012-8-16
在线时间
21 小时
 楼主| 发表于 2012-8-16 18:58:21 | 显示全部楼层
void LCD_WR_REG(u8 data)

LCD_RS=0;//写地址  
  LCD_CS=0;    //片选
DATAOUT(data); 
LCD_WR=0;  //写数据
LCD_WR=1; 
  LCD_CS=1;   

这个函数的参数都是些R3, R37之类的,有什么作用啊


这个子函数的作用
回复 支持 反对

使用道具 举报

27

主题

147

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2012-8-11
在线时间
0 小时
发表于 2012-8-16 19:50:56 | 显示全部楼层
回复【5楼】52635593:
---------------------------------
R3 R37 是TFT的命令,你可以按下F12看下,都是是宏定义的,对应相应的8位数
这个函数是用来写命令的
回复 支持 反对

使用道具 举报

27

主题

147

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
275
金钱
275
注册时间
2012-8-11
在线时间
0 小时
发表于 2012-8-16 19:53:16 | 显示全部楼层
回复【4楼】52635593:
---------------------------------
1:会的,ODR是输出状态寄存器
2:是根据80时序写的
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-21 05:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表