初级会员

- 积分
- 60
- 金钱
- 60
- 注册时间
- 2015-7-25
- 在线时间
- 7 小时
|
5金钱
这几天在弄ov7670上位机显示 我想问问向TFT屏发送图像数据的格式跟想上位机发送图像数据的格式有区别吗 上位机一直不能出现图像这是向上位机发送数据的格式
for(j=0;j<76800;j++)
{
GPIOB->CRL=0X88888888;
OV7670_RCK=0;
color1=OV7670_DATA; //
//color1=GPIOB->IDR&0XFF; //???
OV7670_RCK=1;
color=color1;
color<<=8;
OV7670_RCK=0;
color2=OV7670_DATA; /
//color2=GPIOB->IDR&0XFF; //???
OV7670_RCK=1;
//color|=color2;
GPIOB->CRL=0X33333333;
//LCD_WR_DATA(color);
//LCD->LCD_RAM=color;
// printf("%d,",color1);
// printf("%d\n",color2);
r= color1 & 0xF8;
g=((color1 &0x07 )<<3 | (color2 & 0xe0 ) >>5 ) << 2;
b=(color2 & 0x1f )<<3;
printf("%d,%d,%d,\n",r,g,b);
这是TFT屏的格式(TFT是可以显示图像的)
*void camera_refresh(void)
{
u32 j;
u16 color;
if(ov_sta==2)
{
LCD_Scan_Dir(U2D_L2R); //′óé?μ???,′ó×óμ?óò
LCD_SetCursor(0x00,0x0000); //éè??1a±ê????
LCD_WriteRAM_Prepare(); //?aê?D′è?GRAM
OV7670_CS=0;
OV7670_RRST=0; //?aê??′???á????
OV7670_RCK=0;
OV7670_RCK=1;
OV7670_RCK=0;
OV7670_RRST=1; //?′???á?????áê?
OV7670_RCK=1;
for(j=0;j<76800;j++)
{
GPIOB->CRL=0X88888888;
OV7670_RCK=0;
color=OV7670_DATA; //?áêy?Y
OV7670_RCK=1;
color<<=8;
OV7670_RCK=0;
color|=OV7670_DATA; //?áêy?Y
OV7670_RCK=1;
GPIOB->CRL=0X33333333;
LCD_WR_DATA(color);
}
OV7670_CS=1;
OV7670_RCK=0;
OV7670_RCK=1;
EXTI-> R=1<<15; //??3yLINE8é?μ??D??±ê????
ov_sta=0; //?aê???ò?′?2é?ˉ
ov_frame++;
LCD_Scan_Dir(DFT_SCAN_DIR); //???′??è?é¨?è·??ò
}
}
|
最佳答案
查看完整内容[请看2#楼]
回复【2楼】正点原子:
---------------------------------
问题找到了 之前用的printf函数像上位机发送数据 不够图像上位机接受的数据是十六进制的 而且printf发送帧头也不好显示
|