F4疑问:地址映射后对应的寄存器是怎么做到赋值的

2019-07-20 21:34发布

本帖最后由 xuande 于 2016-6-24 15:22 编辑

平时8位MUC,汇编中一目了然在ram区定义变量,比如  data1   EQU    0x8fh,然后就可以对这个变量进操作,STM32中明白地址映射这回事,但不懂怎么操作的, 比如FSMC功能这块,当要驱动外部LCD时,列程用了相关地址映射 #define LCD_BASE        ((u32)(0x6C000000 | 0x000007E)) //这个地址是0x6c00007e  ,#define LCD             ((LCD_TypeDef *) LCD_BASE)  这两个地址映射,后面又定义了一个LCD地址结构体typedef struct
{
        vu16 LCD_REG;                 
        vu16 LCD_RAM;                                                                        
} LCD_TypeDef;   //这个结构里面的两个对应地址偏移4 分别是  0x6c000083,0x6c000087吗?   这两个地址表示什么功能的寄存器?,最后在调用函数赋值的时候
void LCD_WriteReg(u16 LCD_Reg,u16 LCD_RegValue)  //        
{        
        LCD->LCD_REG = LCD_Reg;               
        LCD->LCD_RAM = LCD_RegValue;                  
}        

LCD_WriteReg(0x0000,0x0001);   
那么问题来了,这样一来0x0000,0x0001是不是否分别写到 0x6c000083,0x6c000087所对应的寄存器里面了吗?这个不清楚,还请哪位版友仔细解答一下,非常感谢

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。