你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

使用CUBE HAL 驱动 OV2640 ili9486 显示 ?

[复制链接]
hpdell 提问时间:2016-6-1 16:25 /
悬赏1ST金币未解决
最近在使用OV2640的摄像头,
单片机使用stm32f429
lcd屏使用 ili9486

固件库使用 cube v1.9

现在的问题是,我驱动ov2640的摄像头,在lcd屏幕上面可以得到需要显示的图像,但是我没有把ov2640的数据写入到 lcd屏,怎么会有显示出来表示不解 ,望高人指点指点 ?!!

OV2640 输出的数据我是保存在外部的 SRAM 里面的


相关部分代码如下:

/**
  * @brief  Frame Event callback.
  * @param  None
  * @retval None
  */

/**
  * @brief  Frame Event callback.
  * @param  None
  * @retval None
  */

void BSP_CAMERA_FrameEventCallback(void)                                        // LCD 显示回调函数
{
#if   1
//  u32 Count,j;
//        u8  * ptr = (u8  *) DCMI_FrameBuf;

        
  if(DcmiFinishFlag)
  {
    DcmiFinishFlag = 0;
   
//    printf ("\r\nDCMI %#x", cc);
    /* Display on LCD */
  //  BSP_LCD_DrawRGBImage(0, 0, 320, 240, (uint8_t *)CAMERA_FRAME_BUFFER);
   
//    Count = 320 * 240 ;     // 显示图像大小,与设置OV2640及LCD屏显示区域大小一致
  //  LCD_SetCursor_B( 0, 320, (20), (480));               
        
    LCD_REG = 0x2C;                         /* 准备读写显存 */
               
//    for (j = 0; j < Count; j ++)
    {
//      LCD_RAM = *ptr;                            // 此处写入到 lcd屏数据我是屏蔽的,LCD 屏 怎么还会有显示出来 ?????????????? 如果把这些屏蔽的代码打开,显示会有乱码或者图像会有干扰。
//                        ptr ++;
    }  
  }
  
#else
  
  
#endif
}






//RGB565测试
//RGB数据直接显示在LCD上面
CAMERA_StatusTypeDef DCMI_RGB565_LcdTest(void)
{
        CAMERA_StatusTypeDef err;
  err = CAMERA_ReadID();        // 读取 OV2640 摄像头的 ID,判断摄像头是否存在或者异常
  if(CAMERA_OK == err)
  {
    tFont.FontCode = FC_ST_16;        // 字体代码 16点阵
    tFont.FrontColor = CL_WHITE;        // 字体颜色
    tFont.BackColor = CL_MASK;        // 透明色
    tFont.Space = 10;               
   
    LCD_ClrScr(CL_BLUE);
   
    LCD_DispStr( 30, 10,  (const u8 *)"SWS  STM32F429IIT6 LQFP-176",  &tFont);
    LCD_DispStr( 30, 34,  (const u8 *)"OV2640 RGB565 Mode",  &tFont);
    LCD_DispStr( 30, 58,  (const u8 *)"KEY0 Contrast",  &tFont);                                                //对比度
    LCD_DispStr( 30, 82,  (const u8 *)"KEY1 Saturation",  &tFont);                                        //色彩饱和度        
    LCD_DispStr( 30, 106, (const u8 *)"KEY2 Effects",  &tFont);                                                //特效         
    LCD_DispStr( 30, 130, (const u8 *)"KEY_UP FullSize / Scale",  &tFont);        //1:1尺寸(显示真实尺寸)/全尺寸缩放
    bsp_DelayMS(50);        
   
   
    /* 初始化OV2640摄像头及读取摄像头芯片ID,确定摄像头正常连接 */
    if(CAMERA_OK == BSP_CAMERA_Init(CAMERA_R320x240))
    {
      /* Wait 1s before Camera snapshot */
      HAL_Delay(10);
      
                  CAMERA_RGB565_Mode();                                                        //RGB565模式
      printf("\r\nCAMERA Init Success ... ...\r\n");
                              
      LCD_SetCursor_B(0 , 320 -1,                 //图像输出320,输出范围要与此“CAMERA_SetImageOutPixelSize(320, 240); ”的设置一致
                      215,  455 -1);                //图像输出240,                        

      CAMERA_SetImageOutPixelSize(320, 240);
      
      DCMI_FrameBuf = mymalloc(SRAMEX, 320*240) ;     // 申请 外部 SRAM 地址
      /* Start the Camera Capture 启动相机捕捉  */
//            BSP_CAMERA_ContinuousStart( (uint8_t *) & LCD_RAM);          // 这个地方是直接在lcd屏上面显示
      
      BSP_CAMERA_ContinuousStart(  (u8 *) DCMI_FrameBuf);                // 这个地方是吧ov2640 摄像头的数据保存在 外部 SRAM 里面的,
    }
    while(1)
    {
   
    }
  }
  else
  {
//    printf("\r\nCAMERA OV2640 Read ID ERROR %d", err);
    return err;
  }
}

收藏 评论0 发布时间:2016-6-1 16:25

举报

0个回答

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版