OpenEdv-开源电子网

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

STM32 FSMC驱动RA8875无显(寄存器方式)

[复制链接]

7

主题

74

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2011-9-3
在线时间
4 小时
发表于 2013-6-19 14:01:10 | 显示全部楼层 |阅读模式
 1.接口说明如下:
RS-PD11
CS-PD7
RST-PE1
------------------------------------------------------------------------------------

2.使用模拟IO口的方式可以点亮,因为端口已经固定,非常笨的方式写数据写指令,如下:
//TFT写数据
//FSMC
void LcdMenu_write_data(u8 data)
{
 TFT_CS_CLR;
 TFT_RS_CLR;
 TFT_RD_SET;
 D0=data;
 D1=data>>1;
 D2=data>>2;
 D3=data>>3;
 D4=data>>4;
 D5=data>>5;
 D6=data>>6;
 D7=data>>7;


 TFT_WR_CLR;
 TFT_WR_SET;
 TFT_CS_SET; 
}

//TFT写指令
//FSMC
void LcdMenu_write_cmd(u8 comm)

 TFT_CS_CLR;
 TFT_RS_SET;
 TFT_RD_SET;
 D0=comm;
 D1=comm>>1;
 D2=comm>>2;
 D3=comm>>3;
 D4=comm>>4;
 D5=comm>>5;
 D6=comm>>6;
 D7=comm>>7;

 TFT_WR_CLR;
 TFT_WR_SET;
 TFT_CS_SET;  
}

------------------------------------------------------------------------------------
3.FSMC设定如下,无显示
void TestLcd_Port_Init(void)
{  
 RCC->APB2ENR|=1<<5;      //使能PORTD时钟
 RCC->APB2ENR|=1<<6;      //使能PORTE时钟
 GPIOE->CRL&=0XFFF0FF0F;  //PE1 推挽输出RST复位脚
 GPIOE->CRL|=0X00000030;  //PE1
 GPIOE->ODR|=1<<1;        //PE1  输出高

 //PORTD复用推挽输出  
 GPIOD->CRH&=0X00FF0000;
 GPIOD->CRH|=0XBB00BBBB;
 GPIOD->CRL&=0X0F00FF00;
 GPIOD->CRL|=0XB0BB00BB;

 GPIOE->CRH=0XBBBBBBBB;
 GPIOE->CRL&=0X0FFFFF0F;
 GPIOE->CRL|=0XB0000030; 
//FSMC 
 RCC->AHBENR|=1<<8;       //使能FSMC时钟 
 RCC->APB2ENR|=1<<0;      //使能AFIO时钟 

 FSMC->BCR1 = 0X00001050;//sram 16BIT 模式B 位4,5->01:16位(default)  位6->1:允许对NOR闪存存储器的访问操作。  位12->1:允许FSMC对存储器的写操作;这是复位后的默认状态。
 FSMC->BTR1 = 0X00000501; //位3:0->地址建立时间 0001->2个HCLK时钟周期  ; 位7:4->地址保持时间  0101->6个HCLK时钟周期  
 FSMC->BCR1 |= 0X00000001;  //位0->存储器块使能位      1:启用对应的存储器块。
 FSMC ->BWTR1=0X0FFFFFFF;  //这个寄存器包含了每个存储器块的控制信息,可以用于SRAM、ROM和NOR闪存存储器。如果FSMC_BCRx寄存器中设置了EXTMOD位,则这个寄存器对应写操作。                               
}
//TFT写数据
//FSMC
void LcdMenu_write_data(u16 data)
{
 LCD->LCD_RAM = data;//写入数据
}

//TFT写指令
//FSMC
void LcdMenu_write_cmd(u16 comm)
{
 LCD->LCD_REG = comm;//写入要写的寄存器序号
}



//采用FSMC模式驱动TFT
 //LCD地址结构体  
typedef struct
{
 u16 LCD_REG;
 u16 LCD_RAM;
} LCD_TypeDef;
//使用NOR/SRAM的 BANK 4,地址位HADDR[27,26]=11 A10作为数据命令区分线  ,
//注意设置时STM32内部会右移一位对其! 111110=0X3E      
#define LCD_BASE    ((u32)(0x60000000|0x0001FFFE))        // A16
#define LCD         ((LCD_TypeDef *) LCD_BASE)

typedef struct
{
  volatile unsigned int BCR1;
  volatile unsigned int BTR1;
  volatile unsigned int BCR2;
  volatile unsigned int BTR2;
  volatile unsigned int BCR3;
  volatile unsigned int BTR3;
  volatile unsigned int BCR4;
  volatile unsigned int BTR4;
  volatile unsigned int RESERVED0[17];
  volatile unsigned int PCR2;
  volatile unsigned int SR2;
  volatile unsigned int PMEM2;
  volatile unsigned int PATT2;
  volatile unsigned int RESERVED1[5];
  volatile unsigned int PCR3;
  volatile unsigned int SR3;
  volatile unsigned int PMEM3;
  volatile unsigned int PATT3;
  volatile unsigned int RESERVED2[5];
  volatile unsigned int PCR4;
  volatile unsigned int SR4;
  volatile unsigned int PMEM4;
  volatile unsigned int PATT4;
  volatile unsigned int PIO4;
  volatile unsigned int RESERVED3[21];
  volatile unsigned int BWTR1;
  volatile unsigned int BWTR2;
  volatile unsigned int BWTR3;
  volatile unsigned int BWTR4;
} FSMC_TypeDef;

#define FSMC_BASE           ((u32)0xA0000000)

#define FSMC               ((FSMC_TypeDef *) FSMC_BASE)


附上两种工程,大家帮忙看下是什么原因?谢谢!

桌面.7z

26.94 KB, 下载次数: 543

http://shop60782849.taobao.com/显示屏专卖
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

25

主题

683

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1351
金钱
1351
注册时间
2012-4-25
在线时间
195 小时
发表于 2013-6-19 14:11:28 | 显示全部楼层
LCD_REG (*(__IO u16 *)(0x60000000)) //rs =0 写地址
LCD_RAM (*(__IO u16 *)(0x60020000)) //rs =1 写数据
1-1
回复 支持 1 反对 0

使用道具 举报

7

主题

74

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2011-9-3
在线时间
4 小时
 楼主| 发表于 2013-6-19 14:43:02 | 显示全部楼层
回复【2楼】mygod:
---------------------------------
非常感谢!
http://shop60782849.taobao.com/显示屏专卖
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-18 15:10

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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