请选择 进入手机版 | 继续访问电脑版
搜索
查看: 2850|回复: 3

[求助] STM32L496 - DCMI (JPEG MODE)

[复制链接]

该用户从未签到

1

主题

8

帖子

0

蝴蝶豆

初级会员

最后登录
2018-11-30
发表于 2018-9-7 22:13:46 | 显示全部楼层 |阅读模式
本帖最后由 frankstm32f 于 2018-9-7 22:14 编辑

各位前輩/高手 安安:

小弟不才,上來請教大家

1.請問有人有使用過STM32L496的DCMI來接收OV2640相機輸出的JPEG資料嗎?小弟參考了官方文檔AN5020 - Digital camera interface (DCMI) for STM32 MCUs
看的有不太懂

DCMI availability and features across STM32 MCUs (P.13)
STM32L4x6  - JPEG codec (NO)
可是在
ST的DCMI有支援 Capture of JPEG data: the data is captured in JPEG format to be stored in the SDRAM. (P.56)
因此想問問STM32L496或是stm32L4帶DCMI是否都可以支援Capture of JPEG data呢?

2.

另外小弟有嘗試使用STM32L496來收OV2640 JPEG資料,
但是卻一直進 HAL_DCMI_ErrorCallback
HAL_DCMI_ErrorCallback [2018-09-07 22:05:21.456]
ErrorCode:0x41 [2018-09-07 22:05:21.456]
pBuffPtr:0 [2018-09-07 22:05:21.456]
XferSize:0 [2018-09-07 22:05:21.456]
pCircularBuffer:0 [2018-09-07 22:05:21.456]
HalfCopyLength:0 [2018-09-07 22:05:21.456]

但是缺查部到 ErrorCode:0x41 是什麼意思...
有請各位前輩和高手幫忙解答

附上DCMI配置 與部分程式

#define  PIXEL_WIDTH    ((uint16_t)240)
#define  PIXEL_HEIGHT   ((uint16_t)320)

uint16_t pBuffer[PIXEL_WIDTH*PIXEL_WIDTH];

if(BSP_CAMERA_Init(CAMERA_J320x240) == CAMERA_OK)
{
        printf ("CAMERA_OK \r\n");
        #if 1
        /* Wait 1s before Camera snapshot */
        HAL_Delay(1000);
        if(HAL_DCMI_Start_DMA(&hdcmi, DCMI_MODE_SNAPSHOT , (uint32_t)pBuffer, PIXEL_WIDTH*PIXEL_WIDTH) != HAL_OK)
        {
                printf ("HAL_DCMI_Start_DMA_FAIL  \r\n");
        }
        #endif
} else {
        printf ("CAMERA_FAIL \r\n");
}


/* DCMI init function */
static void MX_DCMI_Init(void)
{

  hdcmi.Instance = DCMI;
  hdcmi.Init.SynchroMode = DCMI_SYNCHRO_HARDWARE;
  hdcmi.Init.PCKPolarity = DCMI_PCKPOLARITY_RISING;
  hdcmi.Init.VSPolarity = DCMI_VSPOLARITY_LOW;
  hdcmi.Init.HSPolarity = DCMI_HSPOLARITY_LOW;
  hdcmi.Init.CaptureRate = DCMI_CR_ALL_FRAME;
  hdcmi.Init.ExtendedDataMode = DCMI_EXTEND_DATA_8B;
  hdcmi.Init.JPEGMode = DCMI_JPEG_ENABLE;
  hdcmi.Init.ByteSelectMode = DCMI_BSM_ALL;
  hdcmi.Init.ByteSelectStart = DCMI_OEBS_ODD;
  hdcmi.Init.LineSelectMode = DCMI_LSM_ALL;
  hdcmi.Init.LineSelectStart = DCMI_OELS_ODD;
        HAL_DCMI_MspInit(&hdcmi);
  if (HAL_DCMI_Init(&hdcmi) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

}

/* DMA2D init function */
static void MX_DMA2D_Init(void)
{

  hdma2d.Instance = DMA2D;
  hdma2d.Init.Mode = DMA2D_M2M;
  hdma2d.Init.ColorMode = DMA2D_OUTPUT_RGB565;
  hdma2d.Init.OutputOffset = 0;
        hdma2d.Init.RedBlueSwap   = DMA2D_RB_REGULAR;      /* No R&B swap for the output image */
  hdma2d.Init.AlphaInverted = DMA2D_REGULAR_ALPHA;   /* No alpha inversion for the output image */

        
        /* DMA2D Callbacks Configuration */
  hdma2d.XferCpltCallback  = TransferComplete;
  hdma2d.XferErrorCallback = TransferError;
        
  hdma2d.LayerCfg[1].InputOffset = 0;
  hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_RGB565;
  hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA;
  hdma2d.LayerCfg[1].InputAlpha = 0xFF;
  hdma2d.LayerCfg[1].AlphaInverted = DMA2D_REGULAR_ALPHA;
  hdma2d.LayerCfg[1].RedBlueSwap = DMA2D_RB_REGULAR;
  if (HAL_DMA2D_Init(&hdma2d) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

  if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK)
  {
    _Error_Handler(__FILE__, __LINE__);
  }

}


/**
  * Enable DMA controller clock
  */
static void MX_DMA_Init(void)
{
  /* DMA controller clock enable */
  __HAL_RCC_DMA2_CLK_ENABLE();

  /* DMA interrupt init */
  /* DMA2_Channel6_IRQn interrupt configuration */
  HAL_NVIC_SetPriority(DMA2_Channel6_IRQn, 15, 0);
  HAL_NVIC_EnableIRQ(DMA2_Channel6_IRQn);

}


謝謝

回复

使用道具 举报

该用户从未签到

91

主题

4756

帖子

4

蝴蝶豆

论坛元老

最后登录
2021-2-27
发表于 2018-9-7 22:58:05 | 显示全部楼层
打印机没激活?

评分

参与人数 1ST金币 -10 收起 理由
zero99 -10

查看全部评分

回复 支持 反对

使用道具 举报

该用户从未签到

1

主题

8

帖子

0

蝴蝶豆

初级会员

最后登录
2018-11-30
 楼主| 发表于 2018-9-7 23:23:53 | 显示全部楼层
請問打印機沒有激活是什麼意思
回复 支持 反对

使用道具 举报

该用户从未签到

0

主题

5

帖子

0

蝴蝶豆

中级会员

最后登录
2019-7-16
发表于 2019-1-11 23:52:27 | 显示全部楼层
亲,搞定没,我也在整
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|论坛-意法半导体STM32/STM8技术社区

GMT+8, 2024-4-19 02:27 , Processed in 0.164362 second(s), 34 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表