我用微雪电子的open1788的开发板,按照他们的例程写的程序。
我现在碰到一个奇怪的现象。
我把bmp图片转换成数组显示没有问题,但通过文件系统度图片显示出了问题
代码如下:
pDst16 = (unsigned long *)LCD_VRAM_BASE_ADDR; // 得到LCD显存地址
pBmp8 = (uint8_t *)ac480x272Pic01;//数组转换成指针,并把高低位组合
for(i=0;i<(480*272);i++)
{
*pDst16 =*pBmp8++<<16;
*pDst16 +=*pBmp8++<<8;
*pDst16 +=*pBmp8++;
*pDst16++;
}
我写的SD卡读取,图片出现错误
pDst16 = (unsigned long *)LCD_VRAM_BASE_ADDR;
for (i=0;i<480*272;i++ )
{
k++;
f_read(&bmpfsrc,&pColorData,3,&read_num); // 每次读取三个数据
*pDst16=pColorData[0]<<16|pColorData[1]<<8|pColorData[2];
// xprintf("%d:---%x\r\n",k,*pDst16); // 输出结果与数组一致,但现实错误
*pDst16++;
}