1. Program the required configuration through following parameters: horizontal and
vertical polarity, pixel clock polarity, Capture Rate, Synchronization Mode, code of the
frame delimiter and data width using HAL_DCMI_Init() function.
2. Configure the DMA2_Stream1 channel1 to transfer Data from DCMI DR register to the
destination memory buffer.
3. Program the required configuration through following parameters: DCMI mode,
destination memory Buffer address and the data length and enable capture using
HAL_DCMI_Start_DMA() function.
4. Optionally, configure and Enable the CROP feature to select a rectangular window
from the received image using HAL_DCMI_ConfigCrop() and
HAL_DCMI_EnableCROP() functions
5. The capture can be stopped using HAL_DCMI_Stop() function.
6. To control DCMI state you can use the function HAL_DCMI_GetState().
DCMI HAL driver macros list
Below the list of most used macros in DCMI HAL driver.
__HAL_DCMI_ENABLE: Enable the DCMI peripheral.
__HAL_DCMI_DISABLE: Disable the DCMI peripheral.
__HAL_DCMI_GET_FLAG: Get the DCMI pending flags.
__HAL_DCMI_CLEAR_FLAG: Clear the DCMI pending flags.
__HAL_DCMI_ENABLE_IT: Enable the specified DCMI interrupts.
__HAL_DCMI_DISABLE_IT: Disable the specified DCMI interrupts.
__HAL_DCMI_GET_IT_SOURCE: Check whether the specified DCMI interrupt has
occurred or not.
You can refer to the DCMI HAL driver header file for more useful macros
14.2.2 Initialization and Configuration functions
This section provides functions allowing to:
Initialize and configure the DCMI
De-initialize the DCMI
This section contains the following APIs:
HAL_DCMI_Init()
HAL_DCMI_DeInit()
HAL_DCMI_MspInit()
HAL_DCMI_MspDeInit()
14.2.3 IO operation functions
This section provides functions allowing to:
Configure destination address and data length and Enables DCMI DMA request and
enables DCMI capture
Stop the DCMI capture.
Handles DCMI interrupt request.
This section contains the following APIs:
HAL_DCMI_Start_DMA()