高中生
最后登录1970-1-1
在线时间 小时
注册时间2013-8-14
|
楼主 |
发表于 2013-11-15 11:33:31
|
显示全部楼层
随风 发表于 2013-11-15 09:18
读取RGB的函数估计有点问题,需要读取两次的。
unsigned int LCD_RD_data(void)
{
u16 R=0, G=0, B=0 ;
R =(*(__IO u16 *) (Bank1_LCD_D)); /*FIRST READ OUT DUMMY DATA*/
R =(*(__IO u16 *) (Bank1_LCD_D)); /*READ OUT RED DATA */
B =(*(__IO u16 *) (Bank1_LCD_D)); /*READ OUT BLACK DATA*/
G =(*(__IO u16 *) (Bank1_LCD_D)); /*READ OUT GREEN DATA*/
return (((R>>11)<<11) | ((G>>10)<<5) | (B>>11)) ;
}
在例程中的函数是这么写的,然后我改成
unsigned int LCD_RD_data(void)
{
u16 R=0, G=0, B=0 ;
R =(*(__IO u16 *) (Bank1_LCD_D)); /*FIRST READ OUT DUMMY DATA*/
R =(*(__IO u16 *) (Bank1_LCD_D)); /*READ OUT RED DATA */
B =(*(__IO u16 *) (Bank1_LCD_D)); /*READ OUT BLACK DATA*/
B =(*(__IO u16 *) (Bank1_LCD_D)); /*READ OUT BLACK DATA*/
G =(*(__IO u16 *) (Bank1_LCD_D)); /*READ OUT GREEN DATA*/
G =(*(__IO u16 *) (Bank1_LCD_D)); /*READ OUT GREEN DATA*/
return (((R>>11)<<11) | ((G>>10)<<5) | (B>>11)) ;
}
问题依旧没解决... |
|