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

使用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扩展软件包
关注我们
st-img 微信公众号
st-img 手机版