关于TFT_LCD的问题,救命啊!!!!

2019-07-21 03:54发布

// typedef struct
//{
// u16 LCD_REG;
// u16 LCD_RAM;
//} LCD_TypeDef;
//#define LCD_BASE        ((u32)(0x6C0007fe))
//#define LCD             ((LCD_TypeDef *) LCD_BASE)
//
//
//void LCD_WR_REG(u16 regval)
//{ 
// LCD->LCD_REG=regval;//写入要写的寄存器序号  
//}
////写LCD数据
////data:要写入的值
//void LCD_WR_DATA(u16 data)
//{  

//     
// LCD->LCD_RAM=data;  
//}
上面的代码我想替换成下面的可是不知道为啥行不通谁能帮我一下这两个区别


#define  REG    *((u32*)(0X6c0007fe))
#define  DATA   *((u32*)(0x6c000800))

void LCD_WR_REG(u16 regval)
{ REG=regval;  
}

void LCD_WR_DATA(u16 regval2)
{ DATA=regval2;  
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
a751217081
2019-07-22 02:17
回复【6楼】promcu:
---------------------------------
我知道RS是地址线第十个  所以我想直接操纵 她的地址0X6c0007fe  但是
#define  REG    *((u32*)(0X6c0007fe)) 
#define  DATA   *((u32*)(0x6c000800))  这么定义 不行
为啥这么定义就可以
#define  REG    *(vu16*)((u32)(0X6c0007fe))  
#define  DATA  *(vu16*)((u32)(0X6c000800)
这个vu没搞懂   和 volatile 32  有啥不同 而且为啥定义两遍呢

一周热门 更多>