SSD1289写寄存器函数例程(u32)0x6c000000中的0x6c000000代表什么?

2019-07-14 18:14发布

#define Bank1_LCD_Reg ((u32)0x6c000000)
void LCD_WR_REG(u16 data)
{
*(vu16 *)(Bank1_LCD_Reg) = data;
}
这是一个例程的关于SSD1289写寄存器的一个函数,有两点不明白:

1、这个 (u32)0x6c000000中的0x6c000000代表什么,为什么有这个数字,难道涉及SSD1289的寄存器地址范围?
2、*(vu16 *)(Bank1_LCD_Reg) = data;这句话为什么能实现写数据的目的,*(*vu16) 是什么意思?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
5条回答
东少2016
1楼-- · 2019-07-14 22:38
 精彩回答 2  元偷偷看……
nvhwdfwre
2楼-- · 2019-07-15 02:23
看程序0x6c000000就是代表一个地址,vu16或许是是volatile unsigned short,最好追踪去看一下原型
Sabrina_cc
3楼-- · 2019-07-15 03:46
你的LCD是挂在在FSMC总线上, 0x6c000000代表地址
水木清华pretty
4楼-- · 2019-07-15 07:53
0x6c000000就是一个地址
爱雪爱雪
5楼-- · 2019-07-15 10:25
Bank1_LCD_Reg ((u32)0x6c000000),从你的Bank1这几个字看出你的LCD应该是挂在FSMC上的,((u32)0x6c000000)是Bank的地址。
*(vu16 *):括号里面的是把后面的数据强制转换成vu16的指针类型,在前面加个*,就是指vu16指针所指的内容。

一周热门 更多>