FSMC对应地址线A0-A24【A1-A25】 是如何定义的 原子哥战舰历程 用的是A10 我想那个结构体 以及LCD_BASE不太理解

2019-07-20 23:20发布

//LCD地址结构体
typedef struct
{
 u16 LCD_REG;
 u16 LCD_RAM;
} LCD_TypeDef;
//使用NOR/SRAM的 Bank1.sector4,地址位HADDR[27,26]=11 A10作为数据命令区分线
//注意设置时STM32内部会右移一位对其! 111110=0X3E      
#define LCD_BASE        ((u32)(0x6C000000 | 0x000007FE))   // 这个部分没有理解透 资料没找到
#define LCD             ((LCD_TypeDef *) LCD_BASE)
////////////////////////////////////////////////////////////////////////////////// 
问题1:每一根地址线 对应的空间是多大 问题2:数据地址和寄存器地址如何定义的
问题3:如果换成 NE1  A16 则是如何定义LCD_BASE 呢

  原子哥 何在啊 求指导
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
闷鱼
1楼-- · 2019-07-20 23:46
条件:CS->BANK1/NE1  RS->A16  16位数据模式  

NE1 0x600000000   
NE2 0x640000000   
NE3 0x680000000   
NE4 0x6C0000000  

根据RS接的地址线计算地址:  
16位模式:add=2^16*2=20000(h)  

定义如下:  

typedef struct    
{    
  u16 LCD_REG;    
  u16 LCD_RAM;    
} LCD_TypeDef;    

#define LCD_BASE    ((uint32_t)(0x6001FFFE))    
#define LCD         ((LCD_TypeDef *) LCD_BASE)
闷鱼
2楼-- · 2019-07-21 04:47
将代码中的相应FSMC_Bank1->BTCR[6],FSMC_Bank1->BTCR[7]改好,BWTR没有用到
正点原子
3楼-- · 2019-07-21 07:39
 精彩回答 2  元偷偷看……
闷鱼
4楼-- · 2019-07-21 10:49
回复【4楼】正点原子:
---------------------------------
LCD_BASE 怎么不是 0x60020000
闷鱼
5楼-- · 2019-07-21 15:45
回复【4楼】正点原子:
---------------------------------
自问自答  是后面加上去的 心里没底
mygod
6楼-- · 2019-07-21 16:17
 精彩回答 2  元偷偷看……

一周热门 更多>