本帖最后由 aiyeba 于 2017-2-16 15:15 编辑
1、先从网上下载240*320的图片
2、然后用画图软件转成BMP格式的
3、用软件输出数组
4、最后调用一个函数
void DisplayPicture(void)
{
u16 temp,pos,t;
LCD_SetCursor(0x00,0x0000);
LCD_WriteRAM_Prepare();
for(pos=0;pos<320;pos++)
{
for(t=0;t<240*2;t++)
{
temp=gImage[pos*480+t]*256+gImage[pos*480+t+1]; //这个地方 改成gImage[pos*480+t]<<8+gImage[pos*480+t+1]; 好像有问题
t++;
LCD_WriteRAM(temp); //理解这个函数 对摄像头那一章才能有真正的理解
}
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
思路就是:
单 {MOD}和彩 {MOD}
先说一下TFT的彩 {MOD} 一个点占2个字节 RGB 565 也就是一个点 可以有2^16种 {MOD}调
那么240*320个点 就需要240*320*2个字节
生成的数组 我们把2个字节合成一个u16的temp 也就是调好的一个点的颜 {MOD}
一个一个的写入LCD里面 这里有一个函数LCD_WriteRAM(temp);
单 {MOD}的话 其实只是描点了
因为这个temp是固定的
也就是 只有240*320 temp=RED; 用宏定义就可以
看看原子哥的写子的时候 这个temp就是固定了各种颜 {MOD} 也就是具体的值
其实 我们还可以自己调出一些很偏的颜 {MOD} 根据RGB 565来就行
那BGR是不是生成数组的软件也就不一样了 因为对我们而言
我们是不会具体去关注rgb的数值的 。
大小端 就是2字节合成u16的时候 那个是高字节?
这个软件上面有设置
temp=gImage[pos*480+t]*256+gImage[pos*480+t+1];
老哥,能讲解一下这句的意思吗?
一周热门 更多>