这是在《嵌入式系统开发与应用实验教程》上的一段程序,是44b0驱动320240的程序,<br /><br />/******************************************************<br />LCD_PutPixel(x,y,c)--把像素发送到显示数据缓存区<br /><br /><br />**************************************************/<br />#define LCD_PutPixel(x,y,c) <br />(*(INT32U *)(LCD_VIRTUAL_BUFFER+(y)*SCR_XSIZE/2+((x))/8*4))= <br /><br />(*(INT32U *)(LCD_VIRTUAL_BUFFER+(y)*SCR_XSIZE/2+((x))/8*4)) & <br />(~(0xf0000000>>((( (x) )%8)*4)))|((c)<< (7- ((x))%8)*4)<br /><br /><br />用的是4位单扫描<br />我不明白的地方在(LCD_VIRTUAL_BUFFER+(y)*SCR_XSIZE/2+((x))/8*4))<br />这里(y)*SCR_XSIZE/2+((x))/8*4这里的除以2 和后面的除以8是不是为了将显示的位置改为缓存中的地址?<br />那么,在图里的VD3是不是包含了四行像素?(我不知道该怎么说,我用过12232,这里是不是像12232那样,VD3包含四行,一列,这四行一列用一个16进制数表示),那么,如果是这样的话,在调用这个函数时,x是不是只能是偶数?<br /><br /> |
|