|
发表于 2014-4-2 21:39:52
|
显示全部楼层
LCD_CTRL_TIMING2 0x80804050
LCD_CTRL_TIMING2_SET 0x80804054 置位
LCD_CTRL_TIMING2_CLR 0x80804058 清0
LCD_CTRL_TIMING2_TOG 0x8080405C 取反。
后面3个是影子寄存器。
一般情况下,大家可以直接读写LCD_CTRL_TIMING2 。 0x80804050
但是,影子寄存器有什么好处了?以下举例。
假设 LCD_CTRL_TIMING2 的值 = 0x 0003 0010,这里是假设啊。
如果我要 把 LCD_CTRL_TIMING2 的最低位设置为1,而不影响其他的值,假设设置完以后是0x0003 0011
一般情况下,我们需要读出LCD_CTRL_TIMEING2的值 x ,然后再进行或操作 x =x | 0x01 , 然后再把这个x 赋值给LCD_CTRL_TIMING2,
利用影子寄存器,我只需要, 直接把0x0000 0001 赋值给LCD_CTRL_TIMING2_SET寄存器,就可以了。就完成了对最低位的置位操作,置位的结果是0x0003 0011, 省了很多指令。
|
|