STM32L4xx_HAL_Driver  1.14.0
DCMI Exported Functions

Modules

 Initialization and Configuration functions
 Initialization and Configuration functions.
 
 IO operation functions
 IO operation functions.
 
 Peripheral Control functions
 Peripheral Control functions.
 
 Peripheral State functions
 Peripheral State functions.
 

Functions

HAL_StatusTypeDef HAL_DCMI_RegisterCallback (DCMI_HandleTypeDef *hdcmi, HAL_DCMI_CallbackIDTypeDef CallbackID, pDCMI_CallbackTypeDef pCallback)
 DCMI Callback registering. More...
 
HAL_StatusTypeDef HAL_DCMI_UnRegisterCallback (DCMI_HandleTypeDef *hdcmi, HAL_DCMI_CallbackIDTypeDef CallbackID)
 DCMI Callback Unregistering. More...
 

Detailed Description

Function Documentation

◆ HAL_DCMI_RegisterCallback()

HAL_StatusTypeDef HAL_DCMI_RegisterCallback ( DCMI_HandleTypeDef hdcmi,
HAL_DCMI_CallbackIDTypeDef  CallbackID,
pDCMI_CallbackTypeDef  pCallback 
)

DCMI Callback registering.

Parameters
hdcmidcmi handle
CallbackIDdcmi Callback ID
hdcmipointer to dcmi Callback function
Return values
status

Definition at line 1072 of file stm32l4xx_hal_dcmi.c.

1073 {
1074  HAL_StatusTypeDef status = HAL_OK;
1075 
1076  if(pCallback == NULL)
1077  {
1078  /* update the error code */
1079  hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK;
1080  /* update return status */
1081  status = HAL_ERROR;
1082  }
1083  else
1084  {
1085  if(hdcmi->State == HAL_DCMI_STATE_READY)
1086  {
1087  switch (CallbackID)
1088  {
1090  hdcmi->FrameEventCallback = pCallback;
1091  break;
1092 
1094  hdcmi->VsyncEventCallback = pCallback;
1095  break;
1096 
1098  hdcmi->LineEventCallback = pCallback;
1099  break;
1100 
1101  case HAL_DCMI_ERROR_CB_ID :
1102  hdcmi->ErrorCallback = pCallback;
1103  break;
1104 
1105  case HAL_DCMI_MSPINIT_CB_ID :
1106  hdcmi->MspInitCallback = pCallback;
1107  break;
1108 
1110  hdcmi->MspDeInitCallback = pCallback;
1111  break;
1112 
1113  default :
1114  /* Return error status */
1115  status = HAL_ERROR;
1116  break;
1117  }
1118  }
1119  else if(hdcmi->State == HAL_DCMI_STATE_RESET)
1120  {
1121  switch (CallbackID)
1122  {
1123  case HAL_DCMI_MSPINIT_CB_ID :
1124  hdcmi->MspInitCallback = pCallback;
1125  break;
1126 
1128  hdcmi->MspDeInitCallback = pCallback;
1129  break;
1130 
1131  default :
1132  /* update the error code */
1133  hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK;
1134  /* update return status */
1135  status = HAL_ERROR;
1136  break;
1137  }
1138  }
1139  else
1140  {
1141  /* update the error code */
1142  hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK;
1143  /* update return status */
1144  status = HAL_ERROR;
1145  }
1146  }
1147 
1148  return status;
1149 }
void(* MspInitCallback)(struct __DCMI_HandleTypeDef *hdcmi)
void(* MspDeInitCallback)(struct __DCMI_HandleTypeDef *hdcmi)
void(* ErrorCallback)(struct __DCMI_HandleTypeDef *hdcmi)
void(* FrameEventCallback)(struct __DCMI_HandleTypeDef *hdcmi)
__IO HAL_DCMI_StateTypeDef State
void(* LineEventCallback)(struct __DCMI_HandleTypeDef *hdcmi)
return HAL_OK
void(* VsyncEventCallback)(struct __DCMI_HandleTypeDef *hdcmi)

◆ HAL_DCMI_UnRegisterCallback()

HAL_StatusTypeDef HAL_DCMI_UnRegisterCallback ( DCMI_HandleTypeDef hdcmi,
HAL_DCMI_CallbackIDTypeDef  CallbackID 
)

DCMI Callback Unregistering.

Parameters
hdcmidcmi handle
CallbackIDdcmi Callback ID
Return values
status

Definition at line 1157 of file stm32l4xx_hal_dcmi.c.

1158 {
1159  HAL_StatusTypeDef status = HAL_OK;
1160 
1161  if(hdcmi->State == HAL_DCMI_STATE_READY)
1162  {
1163  switch (CallbackID)
1164  {
1166  hdcmi->FrameEventCallback = HAL_DCMI_FrameEventCallback; /* Legacy weak FrameEventCallback */
1167  break;
1168 
1170  hdcmi->VsyncEventCallback = HAL_DCMI_VsyncEventCallback; /* Legacy weak VsyncEventCallback */
1171  break;
1172 
1174  hdcmi->LineEventCallback = HAL_DCMI_LineEventCallback; /* Legacy weak LineEventCallback */
1175  break;
1176 
1177  case HAL_DCMI_ERROR_CB_ID :
1178  hdcmi->ErrorCallback = HAL_DCMI_ErrorCallback; /* Legacy weak ErrorCallback */
1179  break;
1180 
1181  case HAL_DCMI_MSPINIT_CB_ID :
1183  break;
1184 
1187  break;
1188 
1189  default :
1190  /* update the error code */
1191  hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK;
1192  /* update return status */
1193  status = HAL_ERROR;
1194  break;
1195  }
1196  }
1197  else if(hdcmi->State == HAL_DCMI_STATE_RESET)
1198  {
1199  switch (CallbackID)
1200  {
1201  case HAL_DCMI_MSPINIT_CB_ID :
1203  break;
1204 
1207  break;
1208 
1209  default :
1210  /* update the error code */
1211  hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK;
1212  /* update return status */
1213  status = HAL_ERROR;
1214  break;
1215  }
1216  }
1217  else
1218  {
1219  /* update the error code */
1220  hdcmi->ErrorCode |= HAL_DCMI_ERROR_INVALID_CALLBACK;
1221  /* update return status */
1222  status = HAL_ERROR;
1223  }
1224 
1225  return status;
1226 }
void HAL_DCMI_FrameEventCallback(DCMI_HandleTypeDef *hdcmi)
Frame Event callback.
void(* MspInitCallback)(struct __DCMI_HandleTypeDef *hdcmi)
void(* MspDeInitCallback)(struct __DCMI_HandleTypeDef *hdcmi)
void(* ErrorCallback)(struct __DCMI_HandleTypeDef *hdcmi)
void HAL_DCMI_ErrorCallback(DCMI_HandleTypeDef *hdcmi)
Error DCMI callback.
void HAL_DCMI_MspInit(DCMI_HandleTypeDef *hdcmi)
Initialize the DCMI MSP.
void HAL_DCMI_LineEventCallback(DCMI_HandleTypeDef *hdcmi)
Line Event callback.
void(* FrameEventCallback)(struct __DCMI_HandleTypeDef *hdcmi)
__IO HAL_DCMI_StateTypeDef State
void(* LineEventCallback)(struct __DCMI_HandleTypeDef *hdcmi)
void HAL_DCMI_VsyncEventCallback(DCMI_HandleTypeDef *hdcmi)
VSYNC Event callback.
return HAL_OK
void HAL_DCMI_MspDeInit(DCMI_HandleTypeDef *hdcmi)
De-initialize the DCMI MSP.
void(* VsyncEventCallback)(struct __DCMI_HandleTypeDef *hdcmi)