你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 7070|回复: 2

STM32的关于LCD例程的一些疑惑

[复制链接]

2

主题

2

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2009-1-6 20:14:56 | 显示全部楼层 |阅读模式
* Description        : This file includes the LCD driver for AM-240320L8TNQW00H
*                     (LCD_ILI9320) Liquid Crystal Display Module of STM3210E-EVAL
*                      board.
//////////////////////////////////////////////////////////////////////////////////////
/* Private typedef -----------------------------------------------------------*/
typedef struct
{
  vu16 LCD_REG;
  vu16 LCD_RAM;
} LCD_TypeDef;
/* LCD is connected to the FSMC_Bank1_NOR/SRAM4 and NE4 is used as ship select signal */
#define LCD_BASE    ((u32)(0x60000000 | 0x0C000000))
#define LCD         ((LCD_TypeDef *) LCD_BASE)
////////////////////////////////////////////////////////////////////////////////////////
 void LCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue)
{
  /* Write 16-bit Index, then Write Reg */
  LCD->LCD_REG = LCD_Reg;
  /* Write 16-bit Reg */
  LCD->LCD_RAM = LCD_RegValue;
}
/////////////////////////////////////////////////////////////////////////////////////////
u16 LCD_ReadReg(u8 LCD_Reg)
{
  /* Write 16-bit Index (then Read Reg) */
  LCD->LCD_REG = LCD_Reg;
  /* Read 16-bit Reg */
  return (LCD->LCD_RAM);
}
/////////////////////////////////////////////////////////////////////////////////////////
void LCD_WriteRAM_Prepare(void)
{
  LCD->LCD_REG = R34;
}
/////////////////////////////////////////////////////////////////////////////////////////
void LCD_WriteRAM(u16 RGB_Code)
{
  /* Write 16-bit GRAM Reg */
  LCD->LCD_RAM = RGB_Code;
}
 这是例程里lcd.c里的一下底层函数的实现。在结构体里的定义:LCD_REG变量地址:0x6c000000;
LCD_RAM变量地址:0x6c000001,STM32的FSMC的地址引脚A0接LCD_ILI9320的RS(L:访问reg;H:访问ram) ,
通过给LCD_REG变量或LCD_RAM变量写数据来实现访问reg和ram,是这样理解的吗?
那么为什么在写LCD_ILI9320的寄存器时,函数 LCD_WriteReg(,)里对reg写操作:LCD->LCD_REG = LCD_Reg;先发送reg的编号,
再 LCD->LCD_RAM = LCD_RegValue; 为什么是对LCD_RAM赋值来实现发送reg需要修改的数据啊?不懂。
还有 LCD_ReadReg(u8 LCD_Reg)的读操作,
也不大明白,怎么实现的啊?
对LCD_ILI932里的reg,ram读写操作时,要给/WR(写入),/RD(读入) 信号的,在用FSMC模块时,程序里没涉及到这些读写信号啊?
高手指点下在下啊?FSMC控制LCD_ILI9320是个什么过程啊?小弟不胜感激!
之前发的那个帖子标题太长了,不方便回复,回复时,要把标题删短,所以再重发了,斑竹原谅偶啊…………
<
回复

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2010-8-10 08:21:23 | 显示全部楼层

RE:STM32的关于LCD例程的一些疑惑

这是microblaze控制12864的程序

#include &quot;xparameters.h&quot;
#include &quot;stdio.h&quot;
#include &quot;xutil.h&quot;
#include &quot;xbasic_types.h&quot;
#include &quot;xstatus.h&quot;
#include &quot;xgpio.h&quot;
#define CHANNEL 1

XGpio Lcd_Data,Lcd_Ctr;
Xuint8 table[]=&quot;timthorpe&quot;;
unsigned char number[]=&quot;0123456789&quot;;
/*******************************************************************/
/*延时time us*/
void delay(Xuint16 time)
{
  Xuint16 i,j;
  for(i=0;i
回复 支持 反对

使用道具 举报

0

主题

1

回帖

0

蝴蝶豆

新手上路

最后登录
1970-1-1
发表于 2010-12-24 13:32:46 | 显示全部楼层

回复:STM32的关于LCD例程的一些疑惑

我也想问这个问题,我没看出来,如果我改了LCD连线,该怎么改程序?
回复 支持 反对

使用道具 举报

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版