EDA365电子论坛网

标题: 在arm开发板中的一段程序,为什么给这个数组赋值就直接能用lcd显示了 [打印本页]

作者: Housekk    时间: 2022-4-13 10:31
标题: 在arm开发板中的一段程序,为什么给这个数组赋值就直接能用lcd显示了
volatile unsigned short LCD_BUFFER[SCR_YSIZE_TFT][SCR_XSIZE_TFT];
/ c0 ]0 u3 I5 o! A0 Y
- {9 y& ^) c% J; X/**************************************************************
$ n2 `# a7 x4 i* R4 C  d# DTFT LCD全屏填充特定颜色单元或清屏2 G9 x  o0 S) c0 J7 X
**************************************************************/
/ g9 E" ~2 b7 w8 O" Gvoid Lcd_ClearScr( U32 c), J! t2 K1 ?6 @2 g  U; P; D
{  k' w$ I. }- `! H1 x( K
unsigned int x,y ;- d0 o* l, ~+ F0 c

/ m1 v/ f5 ]2 l3 u* `    for( y = 0 ; y < SCR_YSIZE_TFT ; y++ )
9 w, [# M$ d- T* a    {' S4 x2 m: X( c# _8 [  g9 p
     for( x = 0 ; x < SCR_XSIZE_TFT ; x++ )
6 a& x( P, J& L5 E: v     {- M/ r5 E7 a, {' _6 L- y
   LCD_BUFFER[y][x] = c ;- Z1 n* U' l' m) J" Y* w& F
     }7 u8 x/ W9 q) y/ B* F# H( i
    }
# r2 e% [4 {* ~5 g}在arm开发板中的一段程序,为什么给这个数组赋值就直接能用lcd显示了,没找到给lcd驱动的字段
0 m! B: h8 F. j7 I) [0 X; Y7 G! C* {) Z- R) P

作者: DunklopS15    时间: 2022-4-13 10:45

" P$ p) r) p& ?- |, t* t; K这个数组LCD_BUFFER与LCD的帧缓存相关联
. D0 A8 g- c6 @/ ^7 _rLCDSADDR1=(((U32)LCD_BUFFER>>22)<<21)|M5D((U32)LCD_BUFFER>>1);
, h/ h  h& h- E; X& i- CrLCDSADDR2=M5D( ((U32)LCD_BUFFER+(SCR_XSIZE_TFT*LCD_YSIZE_TFT*2))>>1 );& T, D7 W. a/ [, \' X! f: D

作者: ononsiiii532    时间: 2022-4-13 11:18
这样赋值后,lcd缓存就指向了LCD_BUFFER,向LCD_BUFFER这个地址写数据就是向LCD缓存写数据
作者: Clap3hame3    时间: 2022-4-13 11:35
实际上就是直接修改framebuffer的内容,就是控制显示的内容了




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2