2019-07-20 12:28发布
几楼卖鞋 发表于 2017-8-19 10:00 [mw_shl_code=cpp,true]//处理数据 //当采集完一帧数据后,调用此函数.开始下一帧采集. //该函数会被HAL_D ...
最多设置5个标签!
//当采集完一帧数据后,调用此函数.开始下一帧采集.
//该函数会被HAL_DCMI_FrameEventCallback调用
void jpeg_data_process(void)
{
u16 i,j,l;
l = 0;
/*******显示二值化后的数据*******/
for(j=0;j<Y;j++)
{
for(i=0;i<X;i++)
{
LCD_SetCursor(i,j);
LCD_WriteRAM_Prepare(); //开始写入GRAM
FPS[l] = fps[l];
LCD->LCD_RAM=Binary(FPS[l]);
// LCD->LCD_RAM=FPS[l];
l++;
}
}
l = 0;
/*******显示原来的数据*******/
for(j=0;j<Y;j++)
{
for(i=0;i<X;i++)
{
LCD_SetCursor(i+X+10,j);
LCD_WriteRAM_Prepare(); //开始写入GRAM
FPS[l] = fps[l];
// LCD->LCD_RAM=Binary(FPS[l]);
LCD->LCD_RAM=FPS[l];
l++;
}
}
}[/mw_shl_code]
{
HAL_Init(); //初始化HAL库
Stm32_Clock_Init(360,25,2,8); //设置时钟,180Mhz
delay_init(180); //初始化延时函数
uart_init(115200); //初始化USART
usart2_init(921600); //初始化USART2
usmart_dev.init(90); //初始化USMART
LED_Init(); //初始化LED
KEY_Init(); //初始化按键
SDRAM_Init(); //初始化SDRAM
LCD_Init(); //初始化LCD
TIM3_Init(10000-1,9000-1); //10Khz计数,1秒钟中断一次
POINT_COLOR=BLUE;//设置字体为红 {MOD}
LCD_ShowString(30,50,200,16,16,"Apollo STM32F4/F7");
LCD_ShowString(30,70,200,16,16,"OV5640 TEST");
LCD_ShowString(30,90,200,16,16,"ATOM@ALIENTEK");
LCD_ShowString(30,110,200,16,16,"2016/1/16");
/*************这里初始化一些重要的引脚,SCL,SDA,RESET******************/
while(OV5640_Init())//初始化OV5640
{
LCD_ShowString(30,130,240,16,16,"OV5640 ERR");
delay_ms(200);
LCD_Fill(30,130,239,170,WHITE);
delay_ms(200);
LED0=!LED0;
}
LCD_ShowString(30,130,200,16,16,"OV5640 OK");
rgb565_test();
}
[/mw_shl_code]
不过还是有点问题,8楼代码的意思是。在显示屏的左侧显示二值化后的图像,显示屏的右侧显示原始图像。结果的确有两个图像,但是这两个图像是不一样的。原始图像显示的图像会比二值化前的图像高,这让我百思不得其解。还请各位指教!
一周热门 更多>