实例介绍
【实例截图】
【核心代码】
Contents 1 Acronyms and definitions.............................................................36 2 Overview of HAL drivers...............................................................38 2.1 HAL and user-application files.........................................................38 2.1.1 HAL driver files ................................................................................. 38 2.1.2 User-application files ........................................................................ 39 2.2 HAL data structures ........................................................................41 2.2.1 Peripheral handle structures ............................................................ 41 2.2.2 Initialization and configuration structure ........................................... 42 2.2.3 Specific process structures .............................................................. 43 2.3 API classification.............................................................................43 2.4 Devices supported by HAL drivers ..................................................44 2.5 HAL drivers rules.............................................................................51 2.5.1 HAL API naming rules ...................................................................... 51 2.5.2 HAL general naming rules................................................................ 52 2.5.3 HAL interrupt handler and callback functions................................... 53 2.6 HAL generic APIs............................................................................54 2.7 HAL extension APIs ........................................................................55 2.7.1 HAL extension model overview ........................................................ 55 2.7.2 HAL extension model cases............................................................. 55 2.8 File inclusion model.........................................................................57 2.9 HAL common resources..................................................................58 2.10 HAL configuration............................................................................59 2.11 HAL system peripheral handling .....................................................60 2.11.1 Clock................................................................................................. 60 2.11.2 GPIOs............................................................................................... 60 2.11.3 Cortex NVIC and SysTick timer........................................................ 62 2.11.4 PWR ................................................................................................. 62 2.11.5 EXTI.................................................................................................. 62 2.11.6 DMA.................................................................................................. 64 2.12 How to use HAL drivers ..................................................................66 2.12.1 HAL usage models ........................................................................... 66 2.12.2 HAL initialization ............................................................................... 67 2.12.3 HAL IO operation process ................................................................ 69 2.12.4 Timeout and error management....................................................... 72 UM1850 Contents DOCID027328 Rev 1 3/655 3 HAL System Driver........................................................................76 3.1 HAL Firmware driver API description ..............................................76 3.1.1 How to use this driver....................................................................... 76 3.1.2 Initialization and de-initialization functions ....................................... 76 3.1.3 HAL Control functions....................................................................... 76 3.1.4 HAL_Init............................................................................................ 77 3.1.5 HAL_DeInit ....................................................................................... 77 3.1.6 HAL_MspInit ..................................................................................... 77 3.1.7 HAL_MspDeInit ................................................................................ 78 3.1.8 HAL_InitTick ..................................................................................... 78 3.1.9 HAL_IncTick ..................................................................................... 78 3.1.10 HAL_GetTick .................................................................................... 78 3.1.11 HAL_Delay ....................................................................................... 78 3.1.12 HAL_SuspendTick............................................................................ 78 3.1.13 HAL_ResumeTick............................................................................. 79 3.1.14 HAL_GetHalVersion ......................................................................... 79 3.1.15 HAL_GetREVID................................................................................ 79 3.1.16 HAL_GetDEVID................................................................................ 79 3.1.17 HAL_DBGMCU_EnableDBGSleepMode ......................................... 79 3.1.18 HAL_DBGMCU_DisableDBGSleepMode ........................................ 79 3.1.19 HAL_DBGMCU_EnableDBGStopMode ........................................... 80 3.1.20 HAL_DBGMCU_DisableDBGStopMode .......................................... 80 3.1.21 HAL_DBGMCU_EnableDBGStandbyMode ..................................... 80 3.1.22 HAL_DBGMCU_DisableDBGStandbyMode .................................... 80 3.2 HAL Firmware driver defines...........................................................81 3.2.1 HAL................................................................................................... 81 4 HAL ADC Generic Driver...............................................................82 4.1 ADC Firmware driver registers structures .......................................82 4.1.1 ADC_InitTypeDef.............................................................................. 82 4.1.2 ADC_ChannelConfTypeDef ............................................................. 83 4.1.3 ADC_AnalogWDGConfTypeDef....................................................... 84 4.1.4 ADC_HandleTypeDef....................................................................... 84 4.2 ADC Firmware driver API description..............................................85 4.2.1 ADC peripheral features ................................................................... 85 4.2.2 How to use this driver....................................................................... 85 4.2.3 Initialization and de-initialization functions ....................................... 88 4.2.4 IO operation functions ...................................................................... 88 Contents UM1850 4/655 DOCID027328 Rev 1 4.2.5 Peripheral Control functions ............................................................. 89 4.2.6 Peripheral State and Errors functions .............................................. 89 4.2.7 HAL_ADC_Init .................................................................................. 89 4.2.8 HAL_ADC_DeInit.............................................................................. 89 4.2.9 HAL_ADC_MspInit ........................................................................... 90 4.2.10 HAL_ADC_MspDeInit....................................................................... 90 4.2.11 HAL_ADC_Start ............................................................................... 90 4.2.12 HAL_ADC_Stop................................................................................ 90 4.2.13 HAL_ADC_PollForConversion ......................................................... 91 4.2.14 HAL_ADC_PollForEvent .................................................................. 91 4.2.15 HAL_ADC_Start_IT .......................................................................... 91 4.2.16 HAL_ADC_Stop_IT .......................................................................... 91 4.2.17 HAL_ADC_Start_DMA ..................................................................... 91 4.2.18 HAL_ADC_Stop_DMA...................................................................... 92 4.2.19 HAL_ADC_GetValue........................................................................ 92 4.2.20 HAL_ADC_IRQHandler.................................................................... 92 4.2.21 HAL_ADC_ConvCpltCallback .......................................................... 92 4.2.22 HAL_ADC_ConvHalfCpltCallback.................................................... 93 4.2.23 HAL_ADC_LevelOutOfWindowCallback .......................................... 93 4.2.24 HAL_ADC_ErrorCallback ................................................................. 93 4.2.25 HAL_ADC_ConfigChannel ............................................................... 93 4.2.26 HAL_ADC_AnalogWDGConfig ........................................................ 94 4.2.27 HAL_ADC_GetState......................................................................... 94 4.2.28 HAL_ADC_GetError ......................................................................... 94 4.3 ADC Firmware driver defines ..........................................................94 4.3.1 ADC .................................................................................................. 94 5 HAL ADC Extension Driver......................................................... 106 5.1 ADCEx Firmware driver registers structures .................................106 5.1.1 ADC_InjectionConfTypeDef ........................................................... 106 5.1.2 ADC_MultiModeTypeDef................................................................ 107 5.2 ADCEx Firmware driver API description .......................................108 5.2.1 IO operation functions .................................................................... 108 5.2.2 Peripheral Control functions ........................................................... 109 5.2.3 HAL_ADCEx_Calibration_Start...................................................... 109 5.2.4 HAL_ADCEx_InjectedStart ............................................................ 109 5.2.5 HAL_ADCEx_InjectedStop............................................................. 109 5.2.6 HAL_ADCEx_InjectedPollForConversion ...................................... 109 5.2.7 HAL_ADCEx_InjectedStart_IT ....................................................... 110 UM1850 Contents DOCID027328 Rev 1 5/655 5.2.8 HAL_ADCEx_InjectedStop_IT ....................................................... 110 5.2.9 HAL_ADCEx_MultiModeStart_DMA .............................................. 110 5.2.10 HAL_ADCEx_MultiModeStop_DMA............................................... 110 5.2.11 HAL_ADCEx_InjectedGetValue ..................................................... 111 5.2.12 HAL_ADCEx_MultiModeGetValue ................................................. 111 5.2.13 HAL_ADCEx_InjectedConvCpltCallback ....................................... 111 5.2.14 HAL_ADCEx_InjectedConfigChannel ............................................ 111 5.2.15 HAL_ADCEx_MultiModeConfigChannel ........................................ 112 5.3 ADCEx Firmware driver defines....................................................112 5.3.1 ADCEx............................................................................................ 112 6 HAL CAN Generic Driver............................................................. 118 6.1 CAN Firmware driver registers structures .....................................118 6.1.1 CAN_InitTypeDef............................................................................ 118 6.1.2 CanTxMsgTypeDef......................................................................... 118 6.1.3 CanRxMsgTypeDef ........................................................................ 119 6.1.4 CAN_HandleTypeDef..................................................................... 120 6.2 CAN Firmware driver API description............................................120 6.2.1 How to use this driver..................................................................... 120 6.2.2 Initialization and de-initialization functions ..................................... 121 6.2.3 IO operation functions .................................................................... 122 6.2.4 Peripheral State and Error functions .............................................. 122 6.2.5 HAL_CAN_Init ................................................................................ 122 6.2.6 HAL_CAN_ConfigFilter................................................................... 122 6.2.7 HAL_CAN_DeInit............................................................................ 123 6.2.8 HAL_CAN_MspInit ......................................................................... 123 6.2.9 HAL_CAN_MspDeInit..................................................................... 123 6.2.10 HAL_CAN_Transmit....................................................................... 123 6.2.11 HAL_CAN_Transmit_IT.................................................................. 123 6.2.12 HAL_CAN_Receive........................................................................ 124 6.2.13 HAL_CAN_Receive_IT................................................................... 124 6.2.14 HAL_CAN_Sleep............................................................................ 124 6.2.15 HAL_CAN_WakeUp ....................................................................... 124 6.2.16 HAL_CAN_IRQHandler.................................................................. 125 6.2.17 HAL_CAN_TxCpltCallback............................................................. 125 6.2.18 HAL_CAN_RxCpltCallback ............................................................ 125 6.2.19 HAL_CAN_ErrorCallback ............................................................... 125 6.2.20 HAL_CAN_GetState....................................................................... 126 6.2.21 HAL_CAN_GetError ....................................................................... 126 Contents UM1850 6/655 DOCID027328 Rev 1 6.3 CAN Firmware driver defines ........................................................126 6.3.1 CAN ................................................................................................ 126 7 HAL CAN Extension Driver......................................................... 136 7.1 CANEx Firmware driver registers structures .................................136 7.1.1 CAN_FilterConfTypeDef................................................................. 136 7.2 CANEx Firmware driver defines....................................................137 7.2.1 CANEx............................................................................................ 137 8 HAL CEC Generic Driver............................................................. 138 8.1 CEC Firmware driver registers structures .....................................138 8.1.1 CEC_InitTypeDef............................................................................ 138 8.1.2 CEC_HandleTypeDef..................................................................... 138 8.2 CEC Firmware driver API description............................................139 8.2.1 How to use this driver..................................................................... 139 8.2.2 Initialization and Configuration functions........................................ 139 8.2.3 IO operation functions .................................................................... 139 8.2.4 Peripheral Control functions ........................................................... 140 8.2.5 HAL_CEC_Init ................................................................................ 140 8.2.6 HAL_CEC_DeInit............................................................................ 140 8.2.7 HAL_CEC_MspInit ......................................................................... 141 8.2.8 HAL_CEC_MspDeInit..................................................................... 141 8.2.9 HAL_CEC_Transmit....................................................................... 141 8.2.10 HAL_CEC_Receive........................................................................ 141 8.2.11 HAL_CEC_Transmit_IT.................................................................. 142 8.2.12 HAL_CEC_Receive_IT................................................................... 142 8.2.13 HAL_CEC_GetReceivedFrameSize............................................... 142 8.2.14 HAL_CEC_IRQHandler.................................................................. 143 8.2.15 HAL_CEC_TxCpltCallback............................................................. 143 8.2.16 HAL_CEC_RxCpltCallback ............................................................ 143 8.2.17 HAL_CEC_ErrorCallback ............................................................... 143 8.2.18 HAL_CEC_GetState....................................................................... 143 8.2.19 HAL_CEC_GetError ....................................................................... 143 8.3 CEC Firmware driver defines ........................................................144 8.3.1 CEC ................................................................................................ 144 9 HAL CORTEX Generic Driver...................................................... 150 9.1 CORTEX Firmware driver API description ....................................150 9.1.1 Initialization and de-initialization functions ..................................... 150 9.1.2 Peripheral Control functions ........................................................... 150 UM1850 Contents DOCID027328 Rev 1 7/655 9.1.3 HAL_NVIC_SetPriorityGrouping .................................................... 150 9.1.4 HAL_NVIC_SetPriority ................................................................... 151 9.1.5 HAL_NVIC_EnableIRQ .................................................................. 151 9.1.6 HAL_NVIC_DisableIRQ.................................................................. 151 9.1.7 HAL_NVIC_SystemReset............................................................... 152 9.1.8 HAL_SYSTICK_Config................................................................... 152 9.1.9 HAL_NVIC_GetPriorityGrouping .................................................... 152 9.1.10 HAL_NVIC_GetPriority................................................................... 152 9.1.11 HAL_NVIC_SetPendingIRQ........................................................... 153 9.1.12 HAL_NVIC_GetPendingIRQ .......................................................... 153 9.1.13 HAL_NVIC_ClearPendingIRQ........................................................ 153 9.1.14 HAL_NVIC_GetActive .................................................................... 153 9.1.15 HAL_SYSTICK_CLKSourceConfig ................................................ 154 9.1.16 HAL_SYSTICK_IRQHandler .......................................................... 154 9.1.17 HAL_SYSTICK_Callback ............................................................... 154 9.2 CORTEX Firmware driver defines.................................................154 9.2.1 CORTEX......................................................................................... 154 10 HAL CRC Generic Driver............................................................. 156 10.1 CRC Firmware driver registers structures .....................................156 10.1.1 CRC_HandleTypeDef..................................................................... 156 10.2 CRC Firmware driver API description ...........................................156 10.2.1 How to use this driver..................................................................... 156 10.2.2 Initialization and de-initialization functions ..................................... 156 10.2.3 Peripheral Control functions ........................................................... 157 10.2.4 Peripheral State functions .............................................................. 157 10.2.5 HAL_CRC_Init ................................................................................ 157 10.2.6 HAL_CRC_DeInit ........................................................................... 157 10.2.7 HAL_CRC_MspInit ......................................................................... 157 10.2.8 HAL_CRC_MspDeInit..................................................................... 158 10.2.9 HAL_CRC_Accumulate.................................................................. 158 10.2.10 HAL_CRC_Calculate...................................................................... 158 10.2.11 HAL_CRC_GetState....................................................................... 158 10.3 CRC Firmware driver defines........................................................159 10.3.1 CRC................................................................................................ 159 11 HAL DAC Generic Driver............................................................. 160 11.1 DAC Firmware driver registers structures .....................................160 11.1.1 DAC_HandleTypeDef..................................................................... 160 Contents UM1850 8/655 DOCID027328 Rev 1 11.1.2 DAC_ChannelConfTypeDef ........................................................... 160 11.2 DAC Firmware driver API description............................................161 11.2.1 DAC Peripheral features................................................................. 161 11.2.2 How to use this driver..................................................................... 162 11.2.3 Initialization and de-initialization functions ..................................... 163 11.2.4 IO operation functions .................................................................... 164 11.2.5 Peripheral Control functions ........................................................... 164 11.2.6 Peripheral State and Errors functions ............................................ 164 11.2.7 HAL_DAC_Init ................................................................................ 164 11.2.8 HAL_DAC_DeInit............................................................................ 165 11.2.9 HAL_DAC_MspInit ......................................................................... 165 11.2.10 HAL_DAC_MspDeInit..................................................................... 165 11.2.11 HAL_DAC_Start ............................................................................. 165 11.2.12 HAL_DAC_Stop.............................................................................. 166 11.2.13 HAL_DAC_Start_DMA ................................................................... 166 11.2.14 HAL_DAC_Stop_DMA.................................................................... 166 11.2.15 HAL_DAC_GetValue...................................................................... 167 11.2.16 HAL_DAC_ConvCpltCallbackCh1.................................................. 167 11.2.17 HAL_DAC_ConvHalfCpltCallbackCh1 ........................................... 167 11.2.18 HAL_DAC_ErrorCallbackCh1 ........................................................ 167 11.2.19 HAL_DAC_SetValue ...................................................................... 168 11.2.20 HAL_DAC_ConfigChannel ............................................................. 168 11.2.21 HAL_DAC_SetValue ...................................................................... 168 11.2.22 HAL_DAC_GetState....................................................................... 169 11.2.23 HAL_DAC_GetError ....................................................................... 169 11.2.24 HAL_DAC_ConvCpltCallbackCh1.................................................. 169 11.2.25 HAL_DAC_ConvHalfCpltCallbackCh1 ........................................... 169 11.2.26 HAL_DAC_ErrorCallbackCh1 ........................................................ 170 11.3 DAC Firmware driver defines ........................................................170 11.3.1 DAC ................................................................................................ 170 12 HAL DAC Extension Driver......................................................... 172 12.1 DACEx Firmware driver API description .......................................172 12.1.1 How to use this driver..................................................................... 172 12.1.2 Extended features functions........................................................... 172 12.1.3 HAL_DACEx_DualGetValue .......................................................... 172 12.1.4 HAL_DACEx_TriangleWaveGenerate ........................................... 172 12.1.5 HAL_DACEx_NoiseWaveGenerate ............................................... 173 12.1.6 HAL_DACEx_DualSetValue........................................................... 174 UM1850 Contents DOCID027328 Rev 1 9/655 12.1.7 HAL_DACEx_ConvCpltCallbackCh2 ............................................. 174 12.1.8 HAL_DACEx_ConvHalfCpltCallbackCh2....................................... 175 12.1.9 HAL_DACEx_ErrorCallbackCh2 .................................................... 175 12.2 DACEx Firmware driver defines....................................................175 12.2.1 DACEx............................................................................................ 175 13 HAL DMA Generic Driver ............................................................ 178 13.1 DMA Firmware driver registers structures.....................................178 13.1.1 DMA_InitTypeDef ........................................................................... 178 13.1.2 __DMA_HandleTypeDef................................................................. 178 13.2 DMA Firmware driver API description ...........................................179 13.2.1 How to use this driver..................................................................... 179 13.2.2 Initialization and de-initialization functions ..................................... 180 13.2.3 IO operation functions .................................................................... 180 13.2.4 State and Errors functions .............................................................. 181 13.2.5 HAL_DMA_Init................................................................................ 181 13.2.6 HAL_DMA_DeInit ........................................................................... 181 13.2.7 HAL_DMA_Start ............................................................................. 181 13.2.8 HAL_DMA_Start_IT........................................................................ 182 13.2.9 HAL_DMA_Abort ............................................................................ 182 13.2.10 HAL_DMA_PollForTransfer............................................................ 182 13.2.11 HAL_DMA_IRQHandler.................................................................. 183 13.2.12 HAL_DMA_GetState ...................................................................... 183 13.2.13 HAL_DMA_GetError....................................................................... 183 13.3 DMA Firmware driver defines........................................................183 13.3.1 DMA................................................................................................ 183 14 HAL DMA Extension Driver......................................................... 188 14.1 DMAEx Firmware driver defines....................................................188 14.1.1 DMAEx............................................................................................ 188 15 HAL ETH Generic Driver ............................................................. 190 15.1 ETH Firmware driver registers structures......................................190 15.1.1 ETH_InitTypeDef ............................................................................ 190 15.1.2 ETH_MACInitTypeDef.................................................................... 190 15.1.3 ETH_DMAInitTypeDef.................................................................... 193 15.1.4 ETH_DMADescTypeDef................................................................. 194 15.1.5 ETH_DMARxFrameInfos................................................................ 194 15.1.6 ETH_HandleTypeDef ..................................................................... 195 15.2 ETH Firmware driver API description ............................................195 Contents UM1850 10/655 DOCID027328 Rev 1 15.2.1 How to use this driver..................................................................... 195 15.2.2 Initialization and de-initialization functions ..................................... 196 15.2.3 IO operation functions .................................................................... 196 15.2.4 Peripheral Control functions ........................................................... 197 15.2.5 Peripheral State functions .............................................................. 197 15.2.6 HAL_ETH_Init................................................................................. 197 15.2.7 HAL_ETH_DeInit ............................................................................ 197 15.2.8 HAL_ETH_DMATxDescListInit....................................................... 198 15.2.9 HAL_ETH_DMARxDescListInit ...................................................... 198 15.2.10 HAL_ETH_MspInit.......................................................................... 198 15.2.11 HAL_ETH_MspDeInit ..................................................................... 198 15.2.12 HAL_ETH_TransmitFrame............................................................. 199 15.2.13 HAL_ETH_GetReceivedFrame ...................................................... 199 15.2.14 HAL_ETH_GetReceivedFrame_IT................................................. 199 15.2.15 HAL_ETH_IRQHandler .................................................................. 199 15.2.16 HAL_ETH_TxCpltCallback ............................................................. 199 15.2.17 HAL_ETH_RxCpltCallback............................................................. 200 15.2.18 HAL_ETH_ErrorCallback................................................................ 200 15.2.19 HAL_ETH_ReadPHYRegister........................................................ 200 15.2.20 HAL_ETH_WritePHYRegister ........................................................ 200 15.2.21 HAL_ETH_Start.............................................................................. 201 15.2.22 HAL_ETH_Stop .............................................................................. 201 15.2.23 HAL_ETH_ConfigMAC................................................................... 201 15.2.24 HAL_ETH_ConfigDMA................................................................... 201 15.2.25 HAL_ETH_GetState ....................................................................... 202 15.3 ETH Firmware driver defines.........................................................202 15.3.1 ETH................................................................................................. 202 16 HAL FLASH Generic Driver......................................................... 232 16.1 FLASH Firmware driver registers structures .................................232 16.1.1 FLASH_ProcessTypeDef ............................................................... 232 16.2 FLASH Firmware driver API description........................................232 16.2.1 FLASH peripheral features............................................................. 232 16.2.2 How to use this driver..................................................................... 232 16.2.3 IO operation functions .................................................................... 233 16.2.4 Peripheral Control functions ........................................................... 233 16.2.5 Peripheral State functions .............................................................. 234 16.2.6 HAL_FLASH_Program ................................................................... 234 16.2.7 HAL_FLASH_Program_IT.............................................................. 234 UM1850 Contents DOCID027328 Rev 1 11/655 16.2.8 HAL_FLASH_IRQHandler.............................................................. 235 16.2.9 HAL_FLASH_EndOfOperationCallback ......................................... 235 16.2.10 HAL_FLASH_OperationErrorCallback ........................................... 235 16.2.11 HAL_FLASH_Unlock ...................................................................... 235 16.2.12 HAL_FLASH_Lock ......................................................................... 235 16.2.13 HAL_FLASH_OB_Unlock............................................................... 236 16.2.14 HAL_FLASH_OB_Lock .................................................................. 236 16.2.15 HAL_FLASH_OB_Launch.............................................................. 236 16.2.16 HAL_FLASH_GetError ................................................................... 236 16.3 FLASH Firmware driver defines ....................................................236 16.3.1 FLASH ............................................................................................ 236 17 HAL FLASH Extension Driver..................................................... 241 17.1 FLASHEx Firmware driver registers structures .............................241 17.1.1 FLASH_EraseInitTypeDef .............................................................. 241 17.1.2 FLASH_OBProgramInitTypeDef .................................................... 241 17.2 FLASHEx Firmware driver API description....................................242 17.2.1 IO operation functions .................................................................... 242 17.2.2 Peripheral Control functions ........................................................... 242 17.2.3 HAL_FLASHEx_Erase ................................................................... 242 17.2.4 HAL_FLASHEx_Erase_IT .............................................................. 243 17.2.5 HAL_FLASHEx_OBErase .............................................................. 243 17.2.6 HAL_FLASHEx_OBProgram.......................................................... 243 17.2.7 HAL_FLASHEx_OBGetConfig ....................................................... 244 17.3 FLASHEx Firmware driver defines ................................................244 17.3.1 FLASHEx........................................................................................ 244 18 HAL GPIO Generic Driver............................................................ 247 18.1 GPIO Firmware driver registers structures....................................247 18.1.1 GPIO_InitTypeDef .......................................................................... 247 18.2 GPIO Firmware driver API description ..........................................247 18.2.1 GPIO Peripheral features ............................................................... 247 18.2.2 How to use this driver..................................................................... 248 18.2.3 Initialization and deinitialization functions....................................... 248 18.2.4 IO operation functions .................................................................... 249 18.2.5 HAL_GPIO_Init............................................................................... 249 18.2.6 HAL_GPIO_DeInit .......................................................................... 249 18.2.7 HAL_GPIO_ReadPin...................................................................... 249 18.2.8 HAL_GPIO_WritePin...................................................................... 250 Contents UM1850 12/655 DOCID027328 Rev 1 18.2.9 HAL_GPIO_TogglePin ................................................................... 250 18.2.10 HAL_GPIO_LockPin....................................................................... 250 18.2.11 HAL_GPIO_EXTI_IRQHandler ...................................................... 251 18.2.12 HAL_GPIO_EXTI_Callback............................................................ 251 18.3 GPIO Firmware driver defines.......................................................251 18.3.1 GPIO............................................................................................... 251 19 HAL GPIO Extension Driver........................................................ 255 19.1 GPIOEx Firmware driver API description ......................................255 19.1.1 GPIO Peripheral extension features............................................... 255 19.1.2 How to use this driver..................................................................... 255 19.1.3 Extended features functions........................................................... 255 19.1.4 HAL_GPIOEx_ConfigEventout....................................................... 255 19.1.5 HAL_GPIOEx_EnableEventout...................................................... 256 19.1.6 HAL_GPIOEx_DisableEventout ..................................................... 256 19.2 GPIOEx Firmware driver defines...................................................256 19.2.1 GPIOEx .......................................................................................... 256 20 HAL HCD Generic Driver............................................................. 266 20.1 HCD Firmware driver registers structures .....................................266 20.1.1 HCD_HandleTypeDef..................................................................... 266 20.2 HCD Firmware driver API description ...........................................266 20.2.1 How to use this driver..................................................................... 266 20.2.2 Initialization and de-initialization functions ..................................... 267 20.2.3 IO operation functions .................................................................... 267 20.2.4 Peripheral Control functions ........................................................... 267 20.2.5 Peripheral State functions .............................................................. 267 20.2.6 HAL_HCD_Init ................................................................................ 267 20.2.7 HAL_HCD_HC_Init......................................................................... 268 20.2.8 HAL_HCD_HC_Halt ....................................................................... 268 20.2.9 HAL_HCD_DeInit ........................................................................... 268 20.2.10 HAL_HCD_MspInit ......................................................................... 268 20.2.11 HAL_HCD_MspDeInit..................................................................... 269 20.2.12 HAL_HCD_HC_SubmitRequest..................................................... 269 20.2.13 HAL_HCD_IRQHandler.................................................................. 269 20.2.14 HAL_HCD_SOF_Callback ............................................................. 270 20.2.15 HAL_HCD_Connect_Callback ....................................................... 270 20.2.16 HAL_HCD_Disconnect_Callback ................................................... 270 20.2.17 HAL_HCD_HC_NotifyURBChange_Callback ................................ 270 20.2.18 HAL_HCD_Start ............................................................................. 270 UM1850 Contents DOCID027328 Rev 1 13/655 20.2.19 HAL_HCD_Stop ............................................................................. 271 20.2.20 HAL_HCD_ResetPort..................................................................... 271 20.2.21 HAL_HCD_GetState....................................................................... 271 20.2.22 HAL_HCD_HC_GetURBState........................................................ 271 20.2.23 HAL_HCD_HC_GetXferCount ....................................................... 272 20.2.24 HAL_HCD_HC_GetState ............................................................... 272 20.2.25 HAL_HCD_GetCurrentFrame ........................................................ 272 20.2.26 HAL_HCD_GetCurrentSpeed ........................................................ 272 20.3 HCD Firmware driver defines........................................................272 20.3.1 HCD................................................................................................ 273 21 HAL I2C Generic Driver............................................................... 274 21.1 I2C Firmware driver registers structures .......................................274 21.1.1 I2C_InitTypeDef.............................................................................. 274 21.1.2 I2C_HandleTypeDef....................................................................... 274 21.2 I2C Firmware driver API description..............................................275 21.2.1 How to use this driver..................................................................... 275 21.2.2 Initialization and de-initialization functions ..................................... 278 21.2.3 IO operation functions .................................................................... 278 21.2.4 Peripheral State and Errors functions ............................................ 280 21.2.5 HAL_I2C_Init .................................................................................. 280 21.2.6 HAL_I2C_DeInit.............................................................................. 280 21.2.7 HAL_I2C_MspInit ........................................................................... 280 21.2.8 HAL_I2C_MspDeInit....................................................................... 280 21.2.9 HAL_I2C_Master_Transmit............................................................ 281 21.2.10 HAL_I2C_Master_Receive............................................................. 281 21.2.11 HAL_I2C_Slave_Transmit.............................................................. 281 21.2.12 HAL_I2C_Slave_Receive............................................................... 282 21.2.13 HAL_I2C_Master_Transmit_IT....................................................... 282 21.2.14 HAL_I2C_Master_Receive_IT........................................................ 282 21.2.15 HAL_I2C_Slave_Transmit_IT......................................................... 282 21.2.16 HAL_I2C_Slave_Receive_IT.......................................................... 283 21.2.17 HAL_I2C_Master_Transmit_DMA.................................................. 283 21.2.18 HAL_I2C_Master_Receive_DMA................................................... 283 21.2.19 HAL_I2C_Slave_Transmit_DMA.................................................... 284 21.2.20 HAL_I2C_Slave_Receive_DMA..................................................... 284 21.2.21 HAL_I2C_Mem_Write..................................................................... 284 21.2.22 HAL_I2C_Mem_Read .................................................................... 285 21.2.23 HAL_I2C_Mem_Write_IT ............................................................... 285 Contents UM1850 14/655 DOCID027328 Rev 1 21.2.24 HAL_I2C_Mem_Read_IT ............................................................... 285 21.2.25 HAL_I2C_Mem_Write_DMA .......................................................... 286 21.2.26 HAL_I2C_Mem_Read_DMA .......................................................... 286 21.2.27 HAL_I2C_IsDeviceReady............................................................... 286 21.2.28 HAL_I2C_EV_IRQHandler ............................................................. 287 21.2.29 HAL_I2C_ER_IRQHandler............................................................. 287 21.2.30 HAL_I2C_MasterTxCpltCallback.................................................... 287 21.2.31 HAL_I2C_MasterRxCpltCallback ................................................... 287 21.2.32 HAL_I2C_SlaveTxCpltCallback...................................................... 288 21.2.33 HAL_I2C_SlaveRxCpltCallback ..................................................... 288 21.2.34 HAL_I2C_MemTxCpltCallback....................................................... 288 21.2.35 HAL_I2C_MemRxCpltCallback ...................................................... 288 21.2.36 HAL_I2C_ErrorCallback ................................................................. 289 21.2.37 HAL_I2C_GetState......................................................................... 289 21.2.38 HAL_I2C_GetError ......................................................................... 289 21.3 I2C Firmware driver defines ..........................................................289 21.3.1 I2C .................................................................................................. 289 22 HAL I2S Generic Driver............................................................... 296 22.1 I2S Firmware driver registers structures .......................................296 22.1.1 I2S_InitTypeDef.............................................................................. 296 22.1.2 I2S_HandleTypeDef ....................................................................... 296 22.2 I2S Firmware driver API description..............................................297 22.2.1 How to use this driver..................................................................... 297 22.2.2 Initialization and de-initialization functions ..................................... 299 22.2.3 IO operation functions .................................................................... 299 22.2.4 Peripheral State and Errors functions ............................................ 300 22.2.5 HAL_I2S_Init .................................................................................. 300 22.2.6 HAL_I2S_DeInit.............................................................................. 301 22.2.7 HAL_I2S_MspInit............................................................................ 301 22.2.8 HAL_I2S_MspDeInit....................................................................... 301 22.2.9 HAL_I2S_Transmit ......................................................................... 301 22.2.10 HAL_I2S_Receive .......................................................................... 302 22.2.11 HAL_I2S_Transmit_IT.................................................................... 302 22.2.12 HAL_I2S_Receive_IT..................................................................... 303 22.2.13 HAL_I2S_Transmit_DMA ............................................................... 303 22.2.14 HAL_I2S_Receive_DMA ................................................................ 303 22.2.15 HAL_I2S_DMAPause..................................................................... 304 22.2.16 HAL_I2S_DMAResume.................................................................. 304 UM1850 Contents DOCID027328 Rev 1 15/655 22.2.17 HAL_I2S_DMAStop........................................................................ 304 22.2.18 HAL_I2S_IRQHandler .................................................................... 305 22.2.19 HAL_I2S_TxHalfCpltCallback ........................................................ 305 22.2.20 HAL_I2S_TxCpltCallback............................................................... 305 22.2.21 HAL_I2S_RxHalfCpltCallback ........................................................ 305 22.2.22 HAL_I2S_RxCpltCallback .............................................................. 305 22.2.23 HAL_I2S_ErrorCallback ................................................................. 306 22.2.24 HAL_I2S_GetState......................................................................... 306 22.2.25 HAL_I2S_GetError ......................................................................... 306 22.3 I2S Firmware driver defines ..........................................................306 22.3.1 I2S .................................................................................................. 306 23 HAL IRDA Generic Driver............................................................ 311 23.1 IRDA Firmware driver registers structures ....................................311 23.1.1 IRDA_InitTypeDef........................................................................... 311 23.1.2 IRDA_HandleTypeDef.................................................................... 311 23.2 IRDA Firmware driver API description...........................................312 23.2.1 How to use this driver..................................................................... 312 23.2.2 Initialization and Configuration functions........................................ 314 23.2.3 IO operation functions .................................................................... 314 23.2.4 Peripheral State and Errors functions ............................................ 316 23.2.5 HAL_IRDA_Init ............................................................................... 316 23.2.6 HAL_IRDA_DeInit........................................................................... 316 23.2.7 HAL_IRDA_MspInit ........................................................................ 316 23.2.8 HAL_IRDA_MspDeInit.................................................................... 317 23.2.9 HAL_IRDA_Transmit...................................................................... 317 23.2.10 HAL_IRDA_Receive....................................................................... 317 23.2.11 HAL_IRDA_Transmit_IT................................................................. 317 23.2.12 HAL_IRDA_Receive_IT.................................................................. 318 23.2.13 HAL_IRDA_Transmit_DMA............................................................ 318 23.2.14 HAL_IRDA_Receive_DMA............................................................. 318 23.2.15 HAL_IRDA_DMAPause.................................................................. 319 23.2.16 HAL_IRDA_DMAResume............................................................... 319 23.2.17 HAL_IRDA_DMAStop..................................................................... 319 23.2.18 HAL_IRDA_IRQHandler................................................................. 319 23.2.19 HAL_IRDA_TxCpltCallback............................................................ 320 23.2.20 HAL_IRDA_TxHalfCpltCallback ..................................................... 320 23.2.21 HAL_IRDA_RxCpltCallback ........................................................... 320 23.2.22 HAL_IRDA_RxHalfCpltCallback..................................................... 320 Contents UM1850 16/655 DOCID027328 Rev 1 23.2.23 HAL_IRDA_ErrorCallback .............................................................. 320 23.2.24 HAL_IRDA_GetState...................................................................... 321 23.2.25 HAL_IRDA_GetError ...................................................................... 321 23.3 IRDA Firmware driver defines .......................................................321 23.3.1 IRDA ............................................................................................... 321 24 HAL IWDG Generic Driver........................................................... 328 24.1 IWDG Firmware driver registers structures ...................................328 24.1.1 IWDG_InitTypeDef ......................................................................... 328 24.1.2 IWDG_HandleTypeDef................................................................... 328 24.2 IWDG Firmware driver API description .........................................328 24.2.1 IWDG specific features................................................................... 328 24.2.2 How to use this driver..................................................................... 329 24.2.3 Initialization and de-initialization functions ..................................... 329 24.2.4 IO operation functions .................................................................... 330 24.2.5 Peripheral State functions .............................................................. 330 24.2.6 HAL_IWDG_Init .............................................................................. 330 24.2.7 HAL_IWDG_MspInit ....................................................................... 330 24.2.8 HAL_IWDG_Start ........................................................................... 330 24.2.9 HAL_IWDG_Refresh ...................................................................... 331 24.2.10 HAL_IWDG_GetState..................................................................... 331 24.3 IWDG Firmware driver defines ......................................................331 24.3.1 IWDG.............................................................................................. 331 25 HAL NAND Generic Driver.......................................................... 334 25.1 NAND Firmware driver registers structures...................................334 25.1.1 NAND_IDTypeDef .......................................................................... 334 25.1.2 NAND_AddressTypedef ................................................................. 334 25.1.3 NAND_InfoTypeDef........................................................................ 334 25.1.4 NAND_HandleTypeDef .................................................................. 335 25.2 NAND Firmware driver API description .........................................335 25.2.1 How to use this driver..................................................................... 335 25.2.2 NAND Initialization and de-initialization functions .......................... 336 25.2.3 NAND Input and Output functions .................................................. 336 25.2.4 NAND Control functions ................................................................. 336 25.2.5 NAND State functions..................................................................... 337 25.2.6 HAL_NAND_Init.............................................................................. 337 25.2.7 HAL_NAND_DeInit......................................................................... 337 25.2.8 HAL_NAND_MspInit....................................................................... 337 UM1850 Contents DOCID027328 Rev 1 17/655 25.2.9 HAL_NAND_MspDeInit .................................................................. 337 25.2.10 HAL_NAND_IRQHandler ............................................................... 338 25.2.11 HAL_NAND_ITCallback ................................................................. 338 25.2.12 HAL_NAND_Read_ID .................................................................... 338 25.2.13 HAL_NAND_Reset......................................................................... 338 25.2.14 HAL_NAND_Read_Page ............................................................... 339 25.2.15 HAL_NAND_Write_Page................................................................ 339 25.2.16 HAL_NAND_Read_SpareArea ...................................................... 339 25.2.17 HAL_NAND_Write_SpareArea....................................................... 339 25.2.18 HAL_NAND_Erase_Block .............................................................. 340 25.2.19 HAL_NAND_Read_Status ............................................................. 340 25.2.20 HAL_NAND_Address_Inc .............................................................. 340 25.2.21 HAL_NAND_ECC_Enable ............................................................. 341 25.2.22 HAL_NAND_ECC_Disable............................................................. 341 25.2.23 HAL_NAND_GetECC..................................................................... 341 25.2.24 HAL_NAND_GetState .................................................................... 341 25.2.25 HAL_NAND_Read_Status ............................................................. 342 25.3 NAND Firmware driver defines......................................................342 25.3.1 NAND.............................................................................................. 342 26 HAL NOR Generic Driver............................................................. 344 26.1 NOR Firmware driver registers structures.....................................344 26.1.1 NOR_IDTypeDef ............................................................................ 344 26.1.2 NOR_CFITypeDef .......................................................................... 344 26.1.3 NOR_HandleTypeDef..................................................................... 344 26.2 NOR Firmware driver API description ...........................................345 26.2.1 How to use this driver..................................................................... 345 26.2.2 NOR Initialization and de_initialization functions ........................... 346 26.2.3 NOR Input and Output functions .................................................... 346 26.2.4 NOR Control functions.................................................................... 346 26.2.5 NOR State functions....................................................................... 346 26.2.6 HAL_NOR_Init................................................................................ 346 26.2.7 HAL_NOR_DeInit ........................................................................... 347 26.2.8 HAL_NOR_MspInit......................................................................... 347 26.2.9 HAL_NOR_MspDeInit .................................................................... 347 26.2.10 HAL_NOR_MspWait....................................................................... 347 26.2.11 HAL_NOR_Read_ID ...................................................................... 348 26.2.12 HAL_NOR_ReturnToReadMode.................................................... 348 26.2.13 HAL_NOR_Read ............................................................................ 348 Contents UM1850 18/655 DOCID027328 Rev 1 26.2.14 HAL_NOR_Program....................................................................... 348 26.2.15 HAL_NOR_ReadBuffer .................................................................. 349 26.2.16 HAL_NOR_ProgramBuffer............................................................. 349 26.2.17 HAL_NOR_Erase_Block ................................................................ 349 26.2.18 HAL_NOR_Erase_Chip.................................................................. 350 26.2.19 HAL_NOR_Read_CFI .................................................................... 350 26.2.20 HAL_NOR_WriteOperation_Enable ............................................... 350 26.2.21 HAL_NOR_WriteOperation_Disable .............................................. 350 26.2.22 HAL_NOR_GetState ...................................................................... 351 26.2.23 HAL_NOR_GetStatus..................................................................... 351 26.3 NOR Firmware driver defines........................................................351 26.3.1 NOR................................................................................................ 351 27 HAL PCCARD Generic Driver ..................................................... 354 27.1 PCCARD Firmware driver registers structures..............................354 27.1.1 PCCARD_HandleTypeDef ............................................................. 354 27.2 PCCARD Firmware driver API description ....................................354 27.2.1 How to use this driver..................................................................... 354 27.2.2 PCCARD Initialization and de-initialization functions ..................... 355 27.2.3 PCCARD Input Output and memory functions ............................... 355 27.2.4 PCCARD Peripheral State functions .............................................. 355 27.2.5 HAL_PCCARD_Init......................................................................... 355 27.2.6 HAL_PCCARD_DeInit.................................................................... 356 27.2.7 HAL_PCCARD_MspInit.................................................................. 356 27.2.8 HAL_PCCARD_MspDeInit ............................................................. 356 27.2.9 HAL_CF_Read_ID.......................................................................... 356 27.2.10 HAL_CF_Read_Sector................................................................... 357 27.2.11 HAL_CF_Write_Sector................................................................... 357 27.2.12 HAL_CF_Erase_Sector.................................................................. 357 27.2.13 HAL_CF_Reset .............................................................................. 358 27.2.14 HAL_PCCARD_IRQHandler .......................................................... 358 27.2.15 HAL_PCCARD_ITCallback ............................................................ 358 27.2.16 HAL_PCCARD_GetState ............................................................... 358 27.2.17 HAL_CF_GetStatus........................................................................ 359 27.2.18 HAL_CF_ReadStatus ..................................................................... 359 27.3 PCCARD Firmware driver defines.................................................359 27.3.1 PCCARD ........................................................................................ 359 28 HAL PCD Generic Driver............................................................. 361 28.1 PCD Firmware driver registers structures .....................................361 UM1850 Contents DOCID027328 Rev 1 19/655 28.1.1 PCD_HandleTypeDef..................................................................... 361 28.2 PCD Firmware driver API description............................................361 28.2.1 How to use this driver..................................................................... 361 28.2.2 Initialization and de-initialization functions ..................................... 362 28.2.3 IO operation functions .................................................................... 362 28.2.4 Peripheral Control functions ........................................................... 362 28.2.5 Peripheral State functions .............................................................. 363 28.2.6 HAL_PCD_Init ................................................................................ 363 28.2.7 HAL_PCD_DeInit............................................................................ 363 28.2.8 HAL_PCD_MspInit ......................................................................... 363 28.2.9 HAL_PCD_MspDeInit..................................................................... 363 28.2.10 HAL_PCD_Start ............................................................................. 364 28.2.11 HAL_PCD_Stop.............................................................................. 364 28.2.12 HAL_PCD_IRQHandler.................................................................. 364 28.2.13 HAL_PCD_DataOutStageCallback ................................................ 364 28.2.14 HAL_PCD_DataInStageCallback ................................................... 364 28.2.15 HAL_PCD_SetupStageCallback .................................................... 365 28.2.16 HAL_PCD_SOFCallback................................................................ 365 28.2.17 HAL_PCD_ResetCallback.............................................................. 365 28.2.18 HAL_PCD_SuspendCallback......................................................... 365 28.2.19 HAL_PCD_ResumeCallback.......................................................... 365 28.2.20 HAL_PCD_ISOOUTIncompleteCallback........................................ 366 28.2.21 HAL_PCD_ISOINIncompleteCallback............................................ 366 28.2.22 HAL_PCD_ConnectCallback.......................................................... 366 28.2.23 HAL_PCD_DisconnectCallback ..................................................... 366 28.2.24 HAL_PCD_DevConnect ................................................................. 366 28.2.25 HAL_PCD_DevDisconnect............................................................. 367 28.2.26 HAL_PCD_SetAddress .................................................................. 367 28.2.27 HAL_PCD_EP_Open ..................................................................... 367 28.2.28 HAL_PCD_EP_Close..................................................................... 367 28.2.29 HAL_PCD_EP_Receive ................................................................. 368 28.2.30 HAL_PCD_EP_GetRxCount .......................................................... 368 28.2.31 HAL_PCD_EP_Transmit ................................................................ 368 28.2.32 HAL_PCD_EP_SetStall.................................................................. 368 28.2.33 HAL_PCD_EP_ClrStall................................................................... 369 28.2.34 HAL_PCD_EP_Flush ..................................................................... 369 28.2.35 HAL_PCD_ActiveRemoteWakeup ................................................. 369 28.2.36 HAL_PCD_DeActiveRemoteWakeup............................................. 369 Contents UM1850 20/655 DOCID027328 Rev 1 28.2.37 HAL_PCD_GetState....................................................................... 369 28.3 PCD Firmware driver defines ........................................................370 28.3.1 PCD ................................................................................................ 370 29 HAL PCD Extension Driver......................................................... 379 29.1 PCDEx Firmware driver API description .......................................379 29.1.1 Extended Peripheral Control functions........................................... 379 29.1.2 HAL_PCDEx_PMAConfig .............................................................. 379 29.1.3 HAL_PCDEx_SetConnectionState................................................. 379 29.2 PCDEx Firmware driver defines....................................................379 29.2.1 PCDEx............................................................................................ 380 30 HAL PWR Generic Driver............................................................ 381 30.1 PWR Firmware driver registers structures ....................................381 30.1.1 PWR_PVDTypeDef ........................................................................ 381 30.2 PWR Firmware driver API description...........................................381 30.2.1 Initialization and de-initialization functions ..................................... 381 30.2.2 Peripheral Control functions ........................................................... 381 30.2.3 HAL_PWR_DeInit........................................................................... 383 30.2.4 HAL_PWR_EnableBkUpAccess .................................................... 384 30.2.5 HAL_PWR_DisableBkUpAccess.................................................... 384 30.2.6 HAL_PWR_ConfigPVD .................................................................. 384 30.2.7 HAL_PWR_EnablePVD.................................................................. 384 30.2.8 HAL_PWR_DisablePVD................................................................. 384 30.2.9 HAL_PWR_EnableWakeUpPin...................................................... 385 30.2.10 HAL_PWR_DisableWakeUpPin ..................................................... 385 30.2.11 HAL_PWR_EnterSLEEPMode....................................................... 385 30.2.12 HAL_PWR_EnterSTOPMode......................................................... 385 30.2.13 HAL_PWR_EnterSTANDBYMode ................................................. 386 30.2.14 HAL_PWR_EnableSleepOnExit..................................................... 386 30.2.15 HAL_PWR_DisableSleepOnExit .................................................... 387 30.2.16 HAL_PWR_EnableSEVOnPend .................................................... 387 30.2.17 HAL_PWR_DisableSEVOnPend.................................................... 387 30.2.18 HAL_PWR_PVD_IRQHandler........................................................ 387 30.2.19 HAL_PWR_PVDCallback............................................................... 387 30.3 PWR Firmware driver defines .......................................................388 30.3.1 PWR ............................................................................................... 388 31 HAL RCC Generic Driver............................................................. 393 31.1 RCC Firmware driver registers structures .....................................393 UM1850 Contents DOCID027328 Rev 1 21/655 31.1.1 RCC_PLLInitTypeDef..................................................................... 393 31.1.2 RCC_ClkInitTypeDef ...................................................................... 393 31.2 RCC Firmware driver API description ...........................................394 31.2.1 RCC specific features..................................................................... 394 31.2.2 RCC Limitations.............................................................................. 394 31.2.3 Initialization and de-initialization functions ..................................... 394 31.2.4 Peripheral Control functions ........................................................... 395 31.2.5 HAL_RCC_DeInit ........................................................................... 396 31.2.6 HAL_RCC_OscConfig.................................................................... 396 31.2.7 HAL_RCC_ClockConfig ................................................................. 396 31.2.8 HAL_RCC_MCOConfig.................................................................. 397 31.2.9 HAL_RCC_EnableCSS .................................................................. 398 31.2.10 HAL_RCC_DisableCSS ................................................................. 398 31.2.11 HAL_RCC_GetSysClockFreq ........................................................ 398 31.2.12 HAL_RCC_GetHCLKFreq.............................................................. 399 31.2.13 HAL_RCC_GetPCLK1Freq ............................................................ 399 31.2.14 HAL_RCC_GetPCLK2Freq ............................................................ 399 31.2.15 HAL_RCC_GetOscConfig .............................................................. 400 31.2.16 HAL_RCC_GetClockConfig ........................................................... 400 31.2.17 HAL_RCC_NMI_IRQHandler ......................................................... 400 31.2.18 HAL_RCC_CSSCallback................................................................ 400 31.3 RCC Firmware driver defines........................................................400 31.3.1 RCC................................................................................................ 401 32 HAL RCC Extension Driver......................................................... 414 32.1 RCCEx Firmware driver registers structures.................................414 32.1.1 RCC_OscInitTypeDef..................................................................... 414 32.1.2 RCC_PeriphCLKInitTypeDef.......................................................... 414 32.2 RCCEx Firmware driver API description .......................................415 32.2.1 Extended Peripheral Control functions........................................... 415 32.2.2 HAL_RCCEx_PeriphCLKConfig..................................................... 415 32.2.3 HAL_RCCEx_GetPeriphCLKConfig............................................... 416 32.2.4 HAL_RCCEx_GetPeriphCLKFreq.................................................. 416 32.3 RCCEx Firmware driver defines....................................................416 32.3.1 RCCEx............................................................................................ 416 33 HAL RTC Generic Driver............................................................. 425 33.1 RTC Firmware driver registers structures .....................................425 33.1.1 RTC_TimeTypeDef......................................................................... 425 Contents UM1850 22/655 DOCID027328 Rev 1 33.1.2 RTC_AlarmTypeDef ....................................................................... 425 33.1.3 RTC_InitTypeDef............................................................................ 425 33.1.4 RTC_DateTypeDef ......................................................................... 426 33.1.5 RTC_HandleTypeDef ..................................................................... 426 33.2 RTC Firmware driver API description............................................427 33.2.1 How to use this driver..................................................................... 427 33.2.2 WARNING: Drivers Restrictions..................................................... 427 33.2.3 Backup Domain Operating Condition............................................. 428 33.2.4 Backup Domain Reset.................................................................... 428 33.2.5 Backup Domain Access.................................................................. 428 33.2.6 RTC and low power modes ............................................................ 429 33.2.7 Initialization and de-initialization functions ..................................... 429 33.2.8 RTC Time and Date functions ........................................................ 429 33.2.9 RTC Alarm functions ...................................................................... 429 33.2.10 Peripheral State functions .............................................................. 430 33.2.11 Peripheral Control functions ........................................................... 430 33.2.12 HAL_RTC_Init ................................................................................ 430 33.2.13 HAL_RTC_DeInit............................................................................ 430 33.2.14 HAL_RTC_MspInit.......................................................................... 430 33.2.15 HAL_RTC_MspDeInit ..................................................................... 430 33.2.16 HAL_RTC_SetTime........................................................................ 431 33.2.17 HAL_RTC_GetTime ....................................................................... 431 33.2.18 HAL_RTC_SetDate ........................................................................ 431 33.2.19 HAL_RTC_GetDate........................................................................ 432 33.2.20 HAL_RTC_SetAlarm ...................................................................... 432 33.2.21 HAL_RTC_SetAlarm_IT ................................................................. 432 33.2.22 HAL_RTC_GetAlarm ...................................................................... 433 33.2.23 HAL_RTC_DeactivateAlarm........................................................... 433 33.2.24 HAL_RTC_AlarmIRQHandler......................................................... 433 33.2.25 HAL_RTC_AlarmAEventCallback .................................................. 433 33.2.26 HAL_RTC_PollForAlarmAEvent..................................................... 434 33.2.27 HAL_RTC_GetState....................................................................... 434 33.2.28 HAL_RTC_WaitForSynchro ........................................................... 434 33.3 RTC Firmware driver defines ........................................................434 33.3.1 RTC ................................................................................................ 435 34 HAL RTC Extension Driver ......................................................... 442 34.1 RTCEx Firmware driver registers structures .................................442 34.1.1 RTC_TamperTypeDef .................................................................... 442 UM1850 Contents DOCID027328 Rev 1 23/655 34.2 RTCEx Firmware driver API description........................................442 34.2.1 RTC Tamper functions ................................................................... 442 34.2.2 RTC Second functions.................................................................... 442 34.2.3 Extension Peripheral Control functions .......................................... 442 34.2.4 HAL_RTCEx_SetTamper ............................................................... 443 34.2.5 HAL_RTCEx_SetTamper_IT.......................................................... 443 34.2.6 HAL_RTCEx_DeactivateTamper ................................................... 443 34.2.7 HAL_RTCEx_TamperIRQHandler ................................................. 444 34.2.8 HAL_RTCEx_Tamper1EventCallback ........................................... 444 34.2.9 HAL_RTCEx_PollForTamper1Event.............................................. 444 34.2.10 HAL_RTCEx_SetSecond_IT .......................................................... 444 34.2.11 HAL_RTCEx_DeactivateSecond.................................................... 444 34.2.12 HAL_RTCEx_RTCIRQHandler ...................................................... 445 34.2.13 HAL_RTCEx_RTCEventCallback .................................................. 445 34.2.14 HAL_RTCEx_RTCEventErrorCallback .......................................... 445 34.2.15 HAL_RTCEx_BKUPWrite............................................................... 445 34.2.16 HAL_RTCEx_BKUPRead .............................................................. 446 34.2.17 HAL_RTCEx_SetSmoothCalib....................................................... 446 34.3 RTCEx Firmware driver defines ....................................................446 34.3.1 RTCEx ............................................................................................ 446 35 HAL SD Generic Driver ............................................................... 454 35.1 SD Firmware driver registers structures........................................454 35.1.1 SD_HandleTypeDef........................................................................ 454 35.1.2 HAL_SD_CSDTypedef................................................................... 454 35.1.3 HAL_SD_CIDTypedef .................................................................... 456 35.1.4 HAL_SD_CardStatusTypedef ........................................................ 457 35.1.5 HAL_SD_CardInfoTypedef............................................................. 458 35.2 SD Firmware driver API description ..............................................458 35.2.1 How to use this driver..................................................................... 458 35.2.2 Initialization and de-initialization functions ..................................... 460 35.2.3 IO operation functions .................................................................... 460 35.2.4 Peripheral Control functions ........................................................... 461 35.2.5 Peripheral State functions .............................................................. 461 35.2.6 HAL_SD_Init................................................................................... 461 35.2.7 HAL_SD_DeInit .............................................................................. 461 35.2.8 HAL_SD_MspInit ............................................................................ 461 35.2.9 HAL_SD_MspDeInit ....................................................................... 462 35.2.10 HAL_SD_ReadBlocks .................................................................... 462 Contents UM1850 24/655 DOCID027328 Rev 1 35.2.11 HAL_SD_WriteBlocks..................................................................... 462 35.2.12 HAL_SD_ReadBlocks_DMA .......................................................... 463 35.2.13 HAL_SD_WriteBlocks_DMA .......................................................... 463 35.2.14 HAL_SD_CheckReadOperation..................................................... 463 35.2.15 HAL_SD_CheckWriteOperation ..................................................... 464 35.2.16 HAL_SD_Erase .............................................................................. 464 35.2.17 HAL_SD_IRQHandler..................................................................... 464 35.2.18 HAL_SD_XferCpltCallback............................................................. 464 35.2.19 HAL_SD_XferErrorCallback ........................................................... 464 35.2.20 HAL_SD_DMA_RxCpltCallback..................................................... 465 35.2.21 HAL_SD_DMA_RxErrorCallback ................................................... 465 35.2.22 HAL_SD_DMA_TxCpltCallback ..................................................... 465 35.2.23 HAL_SD_DMA_TxErrorCallback.................................................... 465 35.2.24 HAL_SD_Get_CardInfo.................................................................. 465 35.2.25 HAL_SD_WideBusOperation_Config............................................. 466 35.2.26 HAL_SD_StopTransfer................................................................... 466 35.2.27 HAL_SD_HighSpeed...................................................................... 466 35.2.28 HAL_SD_SendSDStatus................................................................ 467 35.2.29 HAL_SD_GetStatus........................................................................ 467 35.2.30 HAL_SD_GetCardStatus................................................................ 467 35.3 SD Firmware driver defines...........................................................467 35.3.1 SD................................................................................................... 467 36 HAL SMARTCARD Generic Driver.............................................. 481 36.1 SMARTCARD Firmware driver registers structures ......................481 36.1.1 SMARTCARD_InitTypeDef ............................................................ 481 36.1.2 SMARTCARD_HandleTypeDef...................................................... 482 36.2 SMARTCARD Firmware driver API description.............................483 36.2.1 How to use this driver..................................................................... 483 36.2.2 Initialization and Configuration functions........................................ 485 36.2.3 IO operation functions .................................................................... 485 36.2.4 Peripheral State and Errors functions ............................................ 487 36.2.5 HAL_SMARTCARD_Init................................................................. 487 36.2.6 HAL_SMARTCARD_DeInit ............................................................ 487 36.2.7 HAL_SMARTCARD_MspInit .......................................................... 488 36.2.8 HAL_SMARTCARD_MspDeInit ..................................................... 488 36.2.9 HAL_SMARTCARD_Transmit........................................................ 488 36.2.10 HAL_SMARTCARD_Receive......................................................... 488 36.2.11 HAL_SMARTCARD_Transmit_IT .................................................. 489 UM1850 Contents DOCID027328 Rev 1 25/655 36.2.12 HAL_SMARTCARD_Receive_IT ................................................... 489 36.2.13 HAL_SMARTCARD_Transmit_DMA.............................................. 489 36.2.14 HAL_SMARTCARD_Receive_DMA............................................... 490 36.2.15 HAL_SMARTCARD_IRQHandler................................................... 490 36.2.16 HAL_SMARTCARD_TxCpltCallback ............................................. 490 36.2.17 HAL_SMARTCARD_RxCpltCallback ............................................. 491 36.2.18 HAL_SMARTCARD_ErrorCallback................................................ 491 36.2.19 HAL_SMARTCARD_GetState ....................................................... 491 36.2.20 HAL_SMARTCARD_GetError........................................................ 491 36.3 SMARTCARD Firmware driver defines .........................................492 36.3.1 SMARTCARD................................................................................. 492 37 HAL SPI Generic Driver............................................................... 502 37.1 SPI Firmware driver registers structures .......................................502 37.1.1 SPI_InitTypeDef ............................................................................. 502 37.1.2 __SPI_HandleTypeDef................................................................... 503 37.2 SPI Firmware driver API description .............................................503 37.2.1 How to use this driver..................................................................... 503 37.2.2 Initialization and de-initialization functions ..................................... 505 37.2.3 IO operation functions .................................................................... 506 37.2.4 Peripheral State and Errors functions ............................................ 506 37.2.5 HAL_SPI_Init .................................................................................. 507 37.2.6 HAL_SPI_DeInit ............................................................................. 507 37.2.7 HAL_SPI_MspInit ........................................................................... 507 37.2.8 HAL_SPI_MspDeInit....................................................................... 507 37.2.9 HAL_SPI_Transmit......................................................................... 508 37.2.10 HAL_SPI_Receive.......................................................................... 508 37.2.11 HAL_SPI_TransmitReceive............................................................ 508 37.2.12 HAL_SPI_Transmit_IT.................................................................... 508 37.2.13 HAL_SPI_Receive_IT..................................................................... 509 37.2.14 HAL_SPI_TransmitReceive_IT ...................................................... 509 37.2.15 HAL_SPI_Transmit_DMA............................................................... 509 37.2.16 HAL_SPI_Receive_DMA................................................................ 510 37.2.17 HAL_SPI_TransmitReceive_DMA.................................................. 510 37.2.18 HAL_SPI_DMAPause..................................................................... 510 37.2.19 HAL_SPI_DMAResume ................................................................. 510 37.2.20 HAL_SPI_DMAStop ....................................................................... 511 37.2.21 HAL_SPI_IRQHandler.................................................................... 511 37.2.22 HAL_SPI_TxCpltCallback .............................................................. 511 Contents UM1850 26/655 DOCID027328 Rev 1 37.2.23 HAL_SPI_RxCpltCallback .............................................................. 511 37.2.24 HAL_SPI_TxRxCpltCallback .......................................................... 511 37.2.25 HAL_SPI_TxHalfCpltCallback ........................................................ 512 37.2.26 HAL_SPI_RxHalfCpltCallback........................................................ 512 37.2.27 HAL_SPI_TxRxHalfCpltCallback.................................................... 512 37.2.28 HAL_SPI_ErrorCallback ................................................................. 512 37.2.29 HAL_SPI_GetState......................................................................... 513 37.2.30 HAL_SPI_GetError......................................................................... 513 37.3 SPI Firmware driver defines..........................................................513 37.3.1 SPI.................................................................................................. 513 38 HAL SRAM Generic Driver.......................................................... 522 38.1 SRAM Firmware driver registers structures...................................522 38.1.1 SRAM_HandleTypeDef .................................................................. 522 38.2 SRAM Firmware driver API description.........................................522 38.2.1 How to use this driver..................................................................... 522 38.2.2 SRAM Initialization and de_initialization functions ......................... 523 38.2.3 SRAM Input and Output functions.................................................. 523 38.2.4 SRAM Control functions ................................................................. 523 38.2.5 SRAM State functions .................................................................... 524 38.2.6 HAL_SRAM_Init ............................................................................. 524 38.2.7 HAL_SRAM_DeInit......................................................................... 524 38.2.8 HAL_SRAM_MspInit....................................................................... 524 38.2.9 HAL_SRAM_MspDeInit.................................................................. 524 38.2.10 HAL_SRAM_DMA_XferCpltCallback ............................................. 525 38.2.11 HAL_SRAM_DMA_XferErrorCallback............................................ 525 38.2.12 HAL_SRAM_Read_8b.................................................................... 525 38.2.13 HAL_SRAM_Write_8b.................................................................... 525 38.2.14 HAL_SRAM_Read_16b.................................................................. 526 38.2.15 HAL_SRAM_Write_16b.................................................................. 526 38.2.16 HAL_SRAM_Read_32b.................................................................. 526 38.2.17 HAL_SRAM_Write_32b.................................................................. 527 38.2.18 HAL_SRAM_Read_DMA................................................................ 527 38.2.19 HAL_SRAM_Write_DMA................................................................ 527 38.2.20 HAL_SRAM_WriteOperation_Enable............................................. 528 38.2.21 HAL_SRAM_WriteOperation_Disable............................................ 528 38.2.22 HAL_SRAM_GetState.................................................................... 528 38.3 SRAM Firmware driver defines .....................................................528 38.3.1 SRAM ............................................................................................. 528 UM1850 Contents DOCID027328 Rev 1 27/655 39 HAL TIM Generic Driver .............................................................. 529 39.1 TIM Firmware driver registers structures.......................................529 39.1.1 TIM_Base_InitTypeDef................................................................... 529 39.1.2 TIM_OC_InitTypeDef...................................................................... 529 39.1.3 TIM_OnePulse_InitTypeDef ........................................................... 530 39.1.4 TIM_IC_InitTypeDef ....................................................................... 531 39.1.5 TIM_Encoder_InitTypeDef ............................................................. 531 39.1.6 TIM_ClockConfigTypeDef .............................................................. 532 39.1.7 TIM_ClearInputConfigTypeDef....................................................... 532 39.1.8 TIM_SlaveConfigTypeDef .............................................................. 533 39.1.9 TIM_HandleTypeDef ...................................................................... 533 39.2 TIM Firmware driver API description .............................................534 39.2.1 TIMER Generic features................................................................. 534 39.2.2 How to use this driver..................................................................... 534 39.2.3 Time Base functions ....................................................................... 535 39.2.4 Time Output Compare functions .................................................... 535 39.2.5 Time PWM functions ...................................................................... 536 39.2.6 Time Input Capture functions ......................................................... 536 39.2.7 Time One Pulse functions .............................................................. 537 39.2.8 Time Encoder functions.................................................................. 537 39.2.9 IRQ handler management .............................................................. 538 39.2.10 Peripheral Control functions ........................................................... 538 39.2.11 TIM Callbacks functions ................................................................. 538 39.2.12 Peripheral State functions .............................................................. 539 39.2.13 HAL_TIM_Base_Init ....................................................................... 539 39.2.14 HAL_TIM_Base_DeInit................................................................... 539 39.2.15 HAL_TIM_Base_MspInit................................................................. 539 39.2.16 HAL_TIM_Base_MspDeInit............................................................ 539 39.2.17 HAL_TIM_Base_Start..................................................................... 540 39.2.18 HAL_TIM_Base_Stop..................................................................... 540 39.2.19 HAL_TIM_Base_Start_IT ............................................................... 540 39.2.20 HAL_TIM_Base_Stop_IT................................................................ 540 39.2.21 HAL_TIM_Base_Start_DMA .......................................................... 540 39.2.22 HAL_TIM_Base_Stop_DMA........................................................... 541 39.2.23 HAL_TIM_OC_Init .......................................................................... 541 39.2.24 HAL_TIM_OC_DeInit...................................................................... 541 39.2.25 HAL_TIM_OC_MspInit ................................................................... 541 39.2.26 HAL_TIM_OC_MspDeInit............................................................... 542 Contents UM1850 28/655 DOCID027328 Rev 1 39.2.27 HAL_TIM_OC_Start ....................................................................... 542 39.2.28 HAL_TIM_OC_Stop........................................................................ 542 39.2.29 HAL_TIM_OC_Start_IT .................................................................. 542 39.2.30 HAL_TIM_OC_Stop_IT .................................................................. 543 39.2.31 HAL_TIM_OC_Start_DMA ............................................................. 543 39.2.32 HAL_TIM_OC_Stop_DMA ............................................................. 543 39.2.33 HAL_TIM_PWM_Init....................................................................... 544 39.2.34 HAL_TIM_PWM_DeInit .................................................................. 544 39.2.35 HAL_TIM_PWM_MspInit................................................................ 544 39.2.36 HAL_TIM_PWM_MspDeInit ........................................................... 544 39.2.37 HAL_TIM_PWM_Start.................................................................... 544 39.2.38 HAL_TIM_PWM_Stop .................................................................... 545 39.2.39 HAL_TIM_PWM_Start_IT............................................................... 545 39.2.40 HAL_TIM_PWM_Stop_IT............................................................... 545 39.2.41 HAL_TIM_PWM_Start_DMA.......................................................... 546 39.2.42 HAL_TIM_PWM_Stop_DMA.......................................................... 546 39.2.43 HAL_TIM_IC_Init ............................................................................ 546 39.2.44 HAL_TIM_IC_DeInit ....................................................................... 547 39.2.45 HAL_TIM_IC_MspInit ..................................................................... 547 39.2.46 HAL_TIM_IC_MspDeInit................................................................. 547 39.2.47 HAL_TIM_IC_Start ......................................................................... 547 39.2.48 HAL_TIM_IC_Stop ......................................................................... 547 39.2.49 HAL_TIM_IC_Start_IT.................................................................... 548 39.2.50 HAL_TIM_IC_Stop_IT .................................................................... 548 39.2.51 HAL_TIM_IC_Start_DMA............................................................... 548 39.2.52 HAL_TIM_IC_Stop_DMA ............................................................... 549 39.2.53 HAL_TIM_OnePulse_Init................................................................ 549 39.2.54 HAL_TIM_OnePulse_DeInit ........................................................... 549 39.2.55 HAL_TIM_OnePulse_MspInit......................................................... 549 39.2.56 HAL_TIM_OnePulse_MspDeInit .................................................... 550 39.2.57 HAL_TIM_OnePulse_Start............................................................. 550 39.2.58 HAL_TIM_OnePulse_Stop ............................................................. 550 39.2.59 HAL_TIM_OnePulse_Start_IT........................................................ 550 39.2.60 HAL_TIM_OnePulse_Stop_IT........................................................ 551 39.2.61 HAL_TIM_Encoder_Init .................................................................. 551 39.2.62 HAL_TIM_Encoder_DeInit ............................................................. 551 39.2.63 HAL_TIM_Encoder_MspInit ........................................................... 551 39.2.64 HAL_TIM_Encoder_MspDeInit....................................................... 552 39.2.65 HAL_TIM_Encoder_Start ............................................................... 552 UM1850 Contents DOCID027328 Rev 1 29/655 39.2.66 HAL_TIM_Encoder_Stop ............................................................... 552 39.2.67 HAL_TIM_Encoder_Start_IT .......................................................... 552 39.2.68 HAL_TIM_Encoder_Stop_IT .......................................................... 553 39.2.69 HAL_TIM_Encoder_Start_DMA ..................................................... 553 39.2.70 HAL_TIM_Encoder_Stop_DMA ..................................................... 553 39.2.71 HAL_TIM_IRQHandler ................................................................... 554 39.2.72 HAL_TIM_OC_ConfigChannel ....................................................... 554 39.2.73 HAL_TIM_IC_ConfigChannel......................................................... 554 39.2.74 HAL_TIM_PWM_ConfigChannel.................................................... 555 39.2.75 HAL_TIM_OnePulse_ConfigChannel............................................. 555 39.2.76 HAL_TIM_DMABurst_WriteStart.................................................... 555 39.2.77 HAL_TIM_DMABurst_WriteStop .................................................... 556 39.2.78 HAL_TIM_DMABurst_ReadStart.................................................... 556 39.2.79 HAL_TIM_DMABurst_ReadStop.................................................... 557 39.2.80 HAL_TIM_GenerateEvent .............................................................. 557 39.2.81 HAL_TIM_ConfigOCrefClear.......................................................... 558 39.2.82 HAL_TIM_ConfigClockSource ....................................................... 558 39.2.83 HAL_TIM_ConfigTI1Input............................................................... 558 39.2.84 HAL_TIM_SlaveConfigSynchronization ......................................... 559 39.2.85 HAL_TIM_SlaveConfigSynchronization_IT.................................... 559 39.2.86 HAL_TIM_ReadCapturedValue...................................................... 559 39.2.87 HAL_TIM_PeriodElapsedCallback ................................................. 560 39.2.88 HAL_TIM_OC_DelayElapsedCallback........................................... 560 39.2.89 HAL_TIM_IC_CaptureCallback ...................................................... 560 39.2.90 HAL_TIM_PWM_PulseFinishedCallback ....................................... 560 39.2.91 HAL_TIM_TriggerCallback ............................................................. 560 39.2.92 HAL_TIM_ErrorCallback................................................................. 561 39.2.93 HAL_TIM_Base_GetState.............................................................. 561 39.2.94 HAL_TIM_OC_GetState................................................................. 561 39.2.95 HAL_TIM_PWM_GetState ............................................................. 561 39.2.96 HAL_TIM_IC_GetState................................................................... 561 39.2.97 HAL_TIM_OnePulse_GetState ...................................................... 562 39.2.98 HAL_TIM_Encoder_GetState......................................................... 562 39.3 TIM Firmware driver defines..........................................................562 39.3.1 TIM.................................................................................................. 562 40 HAL TIM Extension Driver........................................................... 582 40.1 TIMEx Firmware driver registers structures...................................582 40.1.1 TIM_HallSensor_InitTypeDef ......................................................... 582 Contents UM1850 30/655 DOCID027328 Rev 1 40.1.2 TIM_BreakDeadTimeConfigTypeDef ............................................. 582 40.1.3 TIM_MasterConfigTypeDef ............................................................ 583 40.2 TIMEx Firmware driver API description.........................................583 40.2.1 TIMER Extended features .............................................................. 583 40.2.2 How to use this driver..................................................................... 583 40.2.3 Timer Hall Sensor functions ........................................................... 584 40.2.4 Timer Complementary Output Compare functions......................... 585 40.2.5 Timer Complementary PWM functions........................................... 585 40.2.6 Timer Complementary One Pulse functions................................... 585 40.2.7 Peripheral Control functions ........................................................... 586 40.2.8 Extension Callbacks functions........................................................ 586 40.2.9 Extension Peripheral State functions ............................................. 586 40.2.10 HAL_TIMEx_HallSensor_Init.......................................................... 586 40.2.11 HAL_TIMEx_HallSensor_DeInit ..................................................... 586 40.2.12 HAL_TIMEx_HallSensor_MspInit................................................... 587 40.2.13 HAL_TIMEx_HallSensor_MspDeInit .............................................. 587 40.2.14 HAL_TIMEx_HallSensor_Start....................................................... 587 40.2.15 HAL_TIMEx_HallSensor_Stop ....................................................... 587 40.2.16 HAL_TIMEx_HallSensor_Start_IT.................................................. 588 40.2.17 HAL_TIMEx_HallSensor_Stop_IT.................................................. 588 40.2.18 HAL_TIMEx_HallSensor_Start_DMA............................................. 588 40.2.19 HAL_TIMEx_HallSensor_Stop_DMA............................................. 588 40.2.20 HAL_TIMEx_OCN_Start................................................................. 588 40.2.21 HAL_TIMEx_OCN_Stop................................................................. 589 40.2.22 HAL_TIMEx_OCN_Start_IT ........................................................... 589 40.2.23 HAL_TIMEx_OCN_Stop_IT ........................................................... 589 40.2.24 HAL_TIMEx_OCN_Start_DMA ...................................................... 590 40.2.25 HAL_TIMEx_OCN_Stop_DMA....................................................... 590 40.2.26 HAL_TIMEx_PWMN_Start ............................................................. 590 40.2.27 HAL_TIMEx_PWMN_Stop ............................................................. 591 40.2.28 HAL_TIMEx_PWMN_Start_IT........................................................ 591 40.2.29 HAL_TIMEx_PWMN_Stop_IT ........................................................ 591 40.2.30 HAL_TIMEx_PWMN_Start_DMA................................................... 592 40.2.31 HAL_TIMEx_PWMN_Stop_DMA ................................................... 592 40.2.32 HAL_TIMEx_OnePulseN_Start ...................................................... 592 40.2.33 HAL_TIMEx_OnePulseN_Stop ...................................................... 593 40.2.34 HAL_TIMEx_OnePulseN_Start_IT................................................. 593 40.2.35 HAL_TIMEx_OnePulseN_Stop_IT ................................................. 593 40.2.36 HAL_TIMEx_ConfigCommutationEvent ......................................... 593 UM1850 Contents DOCID027328 Rev 1 31/655 40.2.37 HAL_TIMEx_ConfigCommutationEvent_IT.................................... 594 40.2.38 HAL_TIMEx_ConfigCommutationEvent_DMA............................... 595 40.2.39 HAL_TIMEx_ConfigBreakDeadTime.............................................. 595 40.2.40 HAL_TIMEx_MasterConfigSynchronization................................... 596 40.2.41 HAL_TIMEx_CommutationCallback............................................... 596 40.2.42 HAL_TIMEx_BreakCallback........................................................... 596 40.2.43 TIMEx_DMACommutationCplt ....................................................... 596 40.2.44 HAL_TIMEx_HallSensor_GetState ................................................ 597 40.3 TIMEx Firmware driver defines .....................................................597 40.3.1 TIMEx ............................................................................................. 597 41 HAL UART Generic Driver........................................................... 598 41.1 UART Firmware driver registers structures ...................................598 41.1.1 UART_InitTypeDef ......................................................................... 598 41.1.2 UART_HandleTypeDef................................................................... 598 41.2 UART Firmware driver API description .........................................599 41.2.1 How to use this driver..................................................................... 599 41.2.2 Initialization and Configuration functions........................................ 601 41.2.3 IO operation functions .................................................................... 602 41.2.4 Peripheral Control functions ........................................................... 603 41.2.5 Peripheral State and Errors functions ............................................ 603 41.2.6 HAL_UART_Init .............................................................................. 604 41.2.7 HAL_HalfDuplex_Init ...................................................................... 604 41.2.8 HAL_LIN_Init .................................................................................. 604 41.2.9 HAL_MultiProcessor_Init................................................................ 605 41.2.10 HAL_UART_DeInit ......................................................................... 605 41.2.11 HAL_UART_MspInit ....................................................................... 605 41.2.12 HAL_UART_MspDeInit................................................................... 605 41.2.13 HAL_UART_Transmit..................................................................... 606 41.2.14 HAL_UART_Receive...................................................................... 606 41.2.15 HAL_UART_Transmit_IT................................................................ 606 41.2.16 HAL_UART_Receive_IT................................................................. 607 41.2.17 HAL_UART_Transmit_DMA........................................................... 607 41.2.18 HAL_UART_Receive_DMA............................................................ 607 41.2.19 HAL_UART_DMAPause................................................................. 607 41.2.20 HAL_UART_DMAResume ............................................................. 608 41.2.21 HAL_UART_DMAStop ................................................................... 608 41.2.22 HAL_UART_IRQHandler................................................................ 608 41.2.23 HAL_UART_TxCpltCallback .......................................................... 608 Contents UM1850 32/655 DOCID027328 Rev 1 41.2.24 HAL_UART_TxHalfCpltCallback .................................................... 609 41.2.25 HAL_UART_RxCpltCallback .......................................................... 609 41.2.26 HAL_UART_RxHalfCpltCallback.................................................... 609 41.2.27 HAL_UART_ErrorCallback ............................................................. 609 41.2.28 HAL_LIN_SendBreak ..................................................................... 610 41.2.29 HAL_MultiProcessor_EnterMuteMode ........................................... 610 41.2.30 HAL_MultiProcessor_ExitMuteMode.............................................. 610 41.2.31 HAL_HalfDuplex_EnableTransmitter ............................................. 610 41.2.32 HAL_HalfDuplex_EnableReceiver ................................................. 611 41.2.33 HAL_UART_GetState..................................................................... 611 41.2.34 HAL_UART_GetError..................................................................... 611 41.3 UART Firmware driver defines ......................................................611 41.3.1 UART.............................................................................................. 611 42 HAL USART Generic Driver ........................................................ 621 42.1 USART Firmware driver registers structures.................................621 42.1.1 USART_InitTypeDef....................................................................... 621 42.1.2 USART_HandleTypeDef ................................................................ 621 42.2 USART Firmware driver API description .......................................622 42.2.1 How to use this driver..................................................................... 622 42.2.2 Initialization and Configuration functions........................................ 624 42.2.3 IO operation functions .................................................................... 625 42.2.4 Peripheral State and Errors functions ............................................ 626 42.2.5 HAL_USART_Init............................................................................ 626 42.2.6 HAL_USART_DeInit....................................................................... 627 42.2.7 HAL_USART_MspInit..................................................................... 627 42.2.8 HAL_USART_MspDeInit ................................................................ 627 42.2.9 HAL_USART_Transmit .................................................................. 627 42.2.10 HAL_USART_Receive ................................................................... 628 42.2.11 HAL_USART_TransmitReceive ..................................................... 628 42.2.12 HAL_USART_Transmit_IT ............................................................. 628 42.2.13 HAL_USART_Receive_IT .............................................................. 629 42.2.14 HAL_USART_TransmitReceive_IT ................................................ 629 42.2.15 HAL_USART_Transmit_DMA ........................................................ 629 42.2.16 HAL_USART_Receive_DMA ......................................................... 630 42.2.17 HAL_USART_TransmitReceive_DMA ........................................... 630 42.2.18 HAL_USART_DMAPause .............................................................. 630 42.2.19 HAL_USART_DMAResume........................................................... 631 42.2.20 HAL_USART_DMAStop................................................................. 631 UM1850 Contents DOCID027328 Rev 1 33/655 42.2.21 HAL_USART_IRQHandler ............................................................. 631 42.2.22 HAL_USART_TxCpltCallback ........................................................ 631 42.2.23 HAL_USART_TxHalfCpltCallback.................................................. 632 42.2.24 HAL_USART_RxCpltCallback........................................................ 632 42.2.25 HAL_USART_RxHalfCpltCallback ................................................. 632 42.2.26 HAL_USART_TxRxCpltCallback.................................................... 632 42.2.27 HAL_USART_ErrorCallback .......................................................... 632 42.2.28 HAL_USART_GetState .................................................................. 633 42.2.29 HAL_USART_GetError................................................................... 633 42.3 USART Firmware driver defines....................................................633 42.3.1 USART............................................................................................ 633 43 HAL WWDG Generic Driver ........................................................ 641 43.1 WWDG Firmware driver registers structures.................................641 43.1.1 WWDG_InitTypeDef....................................................................... 641 43.1.2 WWDG_HandleTypeDef ................................................................ 641 43.2 WWDG Firmware driver API description .......................................641 43.2.1 WWDG specific features ................................................................ 641 43.2.2 How to use this driver..................................................................... 642 43.2.3 Initialization and de-initialization functions ..................................... 642 43.2.4 IO operation functions .................................................................... 643 43.2.5 Peripheral State functions .............................................................. 643 43.2.6 HAL_WWDG_Init............................................................................ 643 43.2.7 HAL_WWDG_DeInit....................................................................... 643 43.2.8 HAL_WWDG_MspInit..................................................................... 644 43.2.9 HAL_WWDG_MspDeInit ................................................................ 644 43.2.10 HAL_WWDG_WakeupCallback ..................................................... 644 43.2.11 HAL_WWDG_Start......................................................................... 644 43.2.12 HAL_WWDG_Start_IT.................................................................... 645 43.2.13 HAL_WWDG_Refresh.................................................................... 645 43.2.14 HAL_WWDG_IRQHandler ............................................................. 645 43.2.15 HAL_WWDG_WakeupCallback ..................................................... 645 43.2.16 HAL_WWDG_GetState .................................................................. 646 43.3 WWDG Firmware driver defines....................................................646 43.3.1 WWDG............................................................................................ 646 44 FAQs............................................................................................. 650 45 Revision history .......................................................................... 654 List of tables UM1850 34/655 DOCID027328 Rev 1 List of tables Table 1: Acronyms and definitions............................................................................................................36 Table 2: HAL drivers files..........................................................................................................................38 Table 3: User-application files ..................................................................................................................39 Table 4: APis classification .......................................................................................................................44 Table 5: List of devices supported by HAL drivers ...................................................................................45 Table 7: HAL API naming rules ................................................................................................................51 Table 8: Macros handling interrupts and specific clock configurations ....................................................52 Table 9: Callback functions.......................................................................................................................53 Table 10: HAL generic APIs .....................................................................................................................54 Table 11: HAL extension APIs..................................................................................................................55 Table 12: Define statements used for HAL configuration .........................................................................59 Table 13: Description of GPIO_InitTypeDef structure ..............................................................................61 Table 14: Description of EXTI configuration macros ................................................................................63 Table 15: MSP functions...........................................................................................................................68 Table 16: Timeout values .........................................................................................................................72 Table 17: IRDA frame formats ................................................................................................................314 Table 18: Number of wait states (WS) vs SYSCLK frequency ...............................................................395 Table 19: Smartcard frame formats ........................................................................................................485 Table 20: Maximum SPI frequency for 8-bit SPI data transfers .............................................................505 Table 21: Maximum SPI frequency for 16-bit SPI data transfers ...........................................................505 Table 22: UART frame formats...............................................................................................................602 Table 23: USART frame formats ............................................................................................................625 Table 24: Document revision history ......................................................................................................654
标签: STM32CubeMX STM32CUBE STM32 STM3 stm
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论