|
本帖最后由 chenyajun0077 于 2013-3-3 11:18 编辑
1.首先是关于流水灯的实验,重点在于以下函数,对这个函数的功能我把data尝试代入1,2,4,8以后还是无法理解,麻烦看懂此函数的朋友给详细讲解一下。
void Led_Display(int data)
{
rGPBDAT = (rGPBDAT & ~(0xf<<5)) | ((~data & 0xf)<<5);
}
2.关于LCD显示BMP图的问题,函数如下:
void Paint_Bmp(int x0,int y0,int h,int l,unsigned char bmp[])
{
int x,y;
U32 c;
int p = 0;
for( y = y0 ; y < l ; y++ )
{
for( x = x0 ; x < h ; x++ )
{
c = bmp[p+1] | (bmp[p]<<8) ;
if ( ( (x0+x) < SCR_XSIZE_TFT) && ( (y0+y) < SCR_YSIZE_TFT) )
LCD_BUFFER[y0+y][x0+x] = c ;
p = p + 2 ;
}
}
}
该函数里面,y正代表水平方向向右,x正代表竖直方向向下,双层循环赋值的时候先是y保持不变,x即竖直方向赋值,而按我理解LCD应该以行赋值的,这里怎么矛盾了?
其次我初次做测试程序的时候,LCD是4.3寸天嵌屏,有个触摸屏小程序是可以测试我去触摸LCD屏时候的位置的,我做该测试的时候发现,xy轴的坐标是在右上为(0,0)小值,左下最大,那是为什么?好像又和《裸奔3部曲》里的说法矛盾了。
3.关于nor 和 nand flash ,我们烧写程序的时候是打到nor flash 进入CRT然后选择需要烧写boot或者程序之类,烧写程序是在0X30000000地址,之后我们要看烧写程序的时候,是打到nand位置,从而进入程序。是不是可以理解成0X30000000是nand flash的首地址,而0x0000000 ~0x2FFFFFF都是nor flash 的地址?
第一次发帖,很多格式没顾及到,请看客谅解,麻烦懂的朋友耐心解答,不甚感激。
|
|