高中生
最后登录1970-1-1
在线时间 小时
注册时间2016-12-7
|
按例程的程序写的
OV2640_Init();
OV2640_UXGAConfig();
OV2640_DMA_Config((uint32_t)&rgb_buf,rgb_buf_size);
DCMI_Cmd(ENABLE);
DCMI_CaptureCmd(ENABLE);
while(1)
{
if(jpeg_data_ok==1)
{
p = (uint8_t*)jpeg_buf;;
p1= (uint8_t*)gray_buf;
p2= (uint8_t*)black_buf;
for(i=0;i<(jpeg_data_len*2);i++)
{
p1=rgbtogray(p);
if(p1>80)
p2=255;
else
p2=0;
if(p1!=0)
{
USART_SendData(USART1,p2);
while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET);
}
}
jpeg_data_ok=2;
}
用串口接收到的只有00000000......
调试的时候发现,程序运行到DCMI_CaptureCmd(ENABLE); 后直接跳到while(USART_GetFlagStatus(USART1,USART_FLAG_TC)==RESET); 进行数据的发送。这是为啥?
|
|