在STM32F767+ov5640实验中,本人打算将DMA中的一行行数据暂存下来,对一幅图片进行图像处理后,整体发送回去。但是现在把程序改成这样,LCD上面显示的图像不正确了,请各位大神指导!!!
#define jpeg_line_size 2*1024
u32 dcmi_line_buf[2][jpeg_line_size];
void rgblcd_dcmi_rx_callback(void)
{
//u16 *pbuf;
u32 i=0;
u32 data[jpeg_line_size];
if(DMA2_Stream1->CR&(1<<19))
{
//pbuf=(u16*)dcmi_line_buf[0];
for(i=0;i<lcddev.width/2;i++)
{
data[i]=dcmi_line_buf[0][i];
}
}else
{
//pbuf=(u16*)dcmi_line_buf[1];
for(i=0;i<lcddev.width/2;i++)
{
data[i]=dcmi_line_buf[1][i];
}
}
//LTDC_Color_Fill(0,curline,lcddev.width-1,curline,pbuf);
//if(curline<lcddev.height)curline++;
LTDC_Color_Fill(0,curline,lcddev.width-1,curline,(u16 *)data);
if(curline<lcddev.height)curline++;
}
注释部分是源程序代码
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>