|
bmp.pic_dip==16是对应spi液晶屏? if(bmp.pic_dip==24)对应直接驱动的RGB屏 是不是啊 斑竹大人
rgb屏 应该不用给屏本身发命令的吧 直接输入 数据 +时钟 扫描驱动 对不对?
- if(bmp.pic_dip==16)
- {
- WriteComm(0x3A); //Set_address_mode
- WriteData(0x55);
- TK80->CMDIR =0x2c;
- temp=bmp.pic_w_l*2; //如果是16位的位图,一行是pic_w_l*2个字节
- xOfset = temp%4;
- if(xOfset !=0 ) xOfset = 4- xOfset;
- for (tx = 0; tx < bmp.pic_h_l; tx++)
- {
- f_read(&fsrc, buffer, (bmp.pic_w_l)*2+xOfset, &br);
- for(ty=0;ty<temp;ty+=2)
- {
- TK80->DINR = (*(ty +1+buffer)<<8)|(*(ty +0+buffer));
- }
- }
- WriteComm(0x3A); //Set_address_mode
- WriteData(0x77);
- }
- else if(bmp.pic_dip==24)
- {
- temp=bmp.pic_w_l*3; //如果是24位的位图,一行是pic_w_l*3个字节
- xOfset = temp%4;
- if(xOfset !=0 ) xOfset = 4- xOfset;
-
- Xstart = ((XSIZE_PHYS-bmp.pic_w_l)/2);
- Ystart = XSIZE_PHYS*(YSIZE_PHYS-bmp.pic_h_l)/2;
- Xstart = XSIZE_PHYS*((YSIZE_PHYS-bmp.pic_w_l)/2);
- Ystart = (XSIZE_PHYS-bmp.pic_h_l)/2;
- for(i=0;i<bmp.pic_h_l;i++)
- {
- f_read(&fsrc, buffer, (bmp.pic_w_l)*3+xOfset, &br);
- j=0;
- for(ty=0;ty<temp;ty+=3)//for(j=0;j<xLong;j++)
- {
- LTDC_emWin[Xstart+i+XSIZE_PHYS*j+Ystart]=((*(ty +0+buffer)<<16))|(*(ty +1+buffer)<<8)|(*(ty +2+buffer));
- j++;
- }
- }
- }
复制代码 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|