<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
  <meta charset="utf-8" />
  <meta name="generator" content="pandoc" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
  <title>Release Notes for STM32F3xx HAL Drivers</title>
  <style type="text/css">
      code{white-space: pre-wrap;}
      span.smallcaps{font-variant: small-caps;}
      span.underline{text-decoration: underline;}
      div.column{display: inline-block; vertical-align: top; width: 50%;}
  </style>
  <link rel="stylesheet" href="_htmresc/mini-st.css" />
  <!--[if lt IE 9]>
    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
  <![endif]-->
</head>
<body>
<div class="row">
<div class="col-sm-12 col-lg-4">
<div class="card fluid">
<div class="sectione dark">
<center>
<h1 id="release-notes-for-stm32f3xx-hal-drivers"><strong>Release Notes for STM32F3xx HAL Drivers</strong></h1>
<p>Copyright © 2016 STMicroelectronics<br />
</p>
<a href="https://www.st.com" class="logo"><img src="../../_htmresc/st_logo.png" alt="ST logo" /></a>
</center>
</div>
</div>
<h1 id="license"><strong>License</strong></h1>
This software component is licensed by ST under BSD 3-Clause license, the “License”; You may not use this component except in compliance with the License. You may obtain a copy of the License at:
<center>
<a href="https://opensource.org/licenses/BSD-3-Clause">https://opensource.org/licenses/BSD-3-Clause</a>
</center>
</div>
<div class="col-sm-12 col-lg-8">
<h1 id="update-history"><strong>Update History</strong></h1>
<div class="collapse">
<input type="checkbox" id="collapse-section10" aria-hidden="true"> <label for="collapse-section10" aria-hidden="true"><strong>V1.5.3 / 12-September-2019</strong></label>
<div>
<h2 id="main-changes">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation</li>
<li>Add support of HAL callback registration feature</li>
<li>Add new <strong>HAL EXTI</strong> driver</li>
<li><strong>The following changes done on the HAL drivers require an update on the application code based on older HAL versions</strong>
<ul>
<li><strong>HAL/LL Generic</strong> update
<ul>
<li>Add support of <strong>HAL callback registration</strong> feature
<ul>
<li>The feature disabled by default is available for the following HAL drivers:
<ul>
<li><strong>ADC, CAN, COMP, CEC, DAC, SMBUS, HRTIM, I2C, UART, USART, SRAM, NAND, NOR, PCCARD, WWDG, OPAMP, RTC, SDADC, SPI, I2S, TIM, TSC and PCD</strong></li>
</ul></li>
<li>The feature may be enabled individually per HAL PPP driver by setting the corresponding definition USE_HAL_PPP_REGISTER_CALLBACKS to 1U in stm32f3xx_hal_conf.h project configuration file (template file stm32f3xx_hal_conf_template.h available from Drivers/STM32F3xx_HAL_Driver/Inc)</li>
<li>Once enabled , the user application may resort to HAL_PPP_RegisterCallback() to register specific callback function(s) and unregister it(them) with HAL_PPP_UnRegisterCallback()</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL/LL Generic</strong> update
<ul>
<li>General updates to fix MISRA 2012 compilation errors
<ul>
<li>Update assert_failed() API prototype to use pointer on uint8_t instead of char</li>
</ul></li>
<li>Update HAL_SetTickFreq() HAL_SetTickFreq() to be able to restore previous tick frequency when HAL_SetTickFreq() failed.</li>
</ul></li>
<li><strong>HAL CRC</strong> update
<ul>
<li>Remove extra call to HAL_LOCK/HAL_UNLOCK from the followings API’s:
<ul>
<li>HAL_CRC_Accumulate()</li>
<li>HAL_CRC_Calculate()</li>
</ul></li>
</ul></li>
<li><strong>HAL DAC</strong> update
<ul>
<li>Update to check on DAC_CHANNEL2_SUPPORT instead of device part number</li>
</ul></li>
<li><strong>HAL DMA</strong> update
<ul>
<li>Update HAL_DMA_Abort() API to
<ul>
<li>Be able to return HAL_ERROR when DMA is already busy</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL RTC</strong> update
<ul>
<li>HAL/LL drivers optimization
<ul>
<li>HAL driver: remove unused variables to fix CodeSonar warnings</li>
<li>LL driver: getter APIs optimization</li>
</ul></li>
</ul></li>
<li><strong>HAL FLASH</strong> update
<ul>
<li>Update the FLASH_OB_GetRDP() API to return the correct RDP level</li>
</ul></li>
<li><strong>HAL GPIO</strong> update
<ul>
<li>HAL_GPIO_TogglePin() API implementation update: to improve robustness</li>
<li>HAL_GPIO_DeInit() API update to ensure clear all GPIO EXTI pending interrupts.</li>
</ul></li>
<li><strong>HAL CEC</strong> update
<ul>
<li>update CEC states definition</li>
</ul></li>
<li><strong>HAL COMP</strong> update
<ul>
<li>Add HAL_COMP_GetError() API to return the COMP error code</li>
</ul></li>
<li><strong>HAL HRTIM</strong> update
<ul>
<li>HRTIM API changes for MISRA-C 2012 compliance:
<ul>
<li>Rename HAL_HRTIM_WaveformCounterStart() to HAL_HRTIM_WaveformCountStart()</li>
<li>Rename HAL_HRTIM_WaveformCounterStop() to HAL_HRTIM_WaveformCountStop()</li>
<li>Rename HAL_HRTIM_WaveformCounterStart_DMA() to HAL_HRTIM_WaveformCountStart_DMA()</li>
<li>Rename HAL_HRTIM_WaveformCounterStop_DMA() to HAL_HRTIM_WaveformCountStop_DMA()</li>
<li>Rename HAL_HRTIM_WaveformCounterStart_IT() to HAL_HRTIM_WaveformCountStart_IT()</li>
<li>Rename HAL_HRTIM_WaveformCounterStop_IT() to HAL_HRTIM_WaveformCountStop_IT()</li>
<li>Rename HAL_HRTIM_DLLCalbrationReadyCallback() to HAL_HRTIM_DLLCalibrationReadyCallback()</li>
<li><strong>Note</strong>: The stm32_hal_legacy.h file is also updated to avoid compatibility break versus the previous STM32F3 HAL version regarding the replaced defines</li>
</ul></li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>I2C API changes for MISRA-C 2012 compliance:
<ul>
<li>Rename HAL_I2C_Master_Sequential_Transmit_IT() to HAL_I2C_Master_Seq_Transmit_IT()</li>
<li>Rename HAL_I2C_Master_Sequentiel_Receive_IT() to HAL_I2C_Master_Seq_Receive_IT()</li>
<li>Rename HAL_I2C_Slave_Sequentiel_Transmit_IT() to HAL_I2C_Slave_Seq_Transmit_IT()</li>
<li>Rename HAL_I2C_Slave_Sequentiel_Receive_DMA() to HAL_I2C_Slave_Seq_Receive_DMA()</li>
</ul></li>
<li>Add support of I2C repeated start feature in DMA Mode With the following new API’s
<ul>
<li>HAL_I2C_Master_Seq_Transmit_DMA()</li>
<li>HAL_I2C_Master_Seq_Receive_DMA()</li>
<li>HAL_I2C_Slave_Seq_Transmit_DMA()</li>
<li>HAL_I2C_Slave_Seq_Receive_DMA()</li>
</ul></li>
<li>Add new I2C transfer options to easy manage the sequential transfers
<ul>
<li>I2C_OTHER_FRAME</li>
<li>I2C_OTHER_AND_LAST_FRAME</li>
</ul></li>
</ul></li>
<li><strong>HAL SPI</strong> update
<ul>
<li>General update to enhance robustness for HAL SPI driver</li>
</ul></li>
<li><strong>HAL I2S</strong> update
<ul>
<li>General update to enhance robustness for HAL I2S driver</li>
</ul></li>
<li><strong>HAL SMBUS</strong> update
<ul>
<li>General update to enhance robustness for HAL SMBUS driver</li>
</ul></li>
<li><strong>HAL TIM</strong> update
<ul>
<li>Update HAL_TIMEx_RemapConfig() API prototype to use only one parameter for TIMx Remapping input capabilities
<ul>
<li>HAL_TIMEx_RemapConfig(TIM_HandleTypeDef <em>htim, uint32_t Remap) instead of HAL_TIMEx_RemapConfig(TIM_HandleTypeDef </em>htim, uint32_t Remap1, uint32_t Remap2)</li>
</ul></li>
<li>Move the following TIM structures from stm32f3xx_hal_tim_ex.h into stm32f3xx_hal_tim.h
<ul>
<li>TIM_MasterConfigTypeDef()</li>
<li>TIM_BreakDeadTimeConfigTypeDef()</li>
</ul></li>
<li>TIM API changes for MISRA-C 2012 compliance:
<ul>
<li>Rename HAL_TIM_SlaveConfigSynchronization to HAL_TIM_SlaveConfigSynchro</li>
<li>Rename HAL_TIM_SlaveConfigSynchronization_IT to HAL_TIM_SlaveConfigSynchro_IT</li>
<li>Rename HAL_TIMEx_ConfigCommutationEvent to HAL_TIMEx_ConfigCommutEvent</li>
<li>Rename HAL_TIMEx_ConfigCommutationEvent_IT to HAL_TIMEx_ConfigCommutEvent_IT</li>
<li>Rename HAL_TIMEx_ConfigCommutationEvent_DMA to HAL_TIMEx_ConfigCommutEvent_DMA</li>
<li>Rename HAL_TIMEx_CommutationCallback to HAL_TIMEx_CommutCallback</li>
</ul></li>
<li>Add a call to HAL_DMA_Abort_IT from HAL_TIM_XXX_Stop_DMA</li>
</ul></li>
<li><strong>HAL TSC</strong> update
<ul>
<li>HAL_TSC_IODischarge() API: update choice parameter to be on FunctionalState instead of uint32_t.</li>
<li>Add new field ErrorCode in TSC_HandleTypeDef structure</li>
<li>HAL_TSC_Init() API add new assert_param() on ChannelIOs, ShieldIOs and SamplingIOs fields.</li>
</ul></li>
<li><strong>HAL UART</strong> update
<ul>
<li>Update to manage UART LIN and UART wakeUp features in stm32f0xx_hal_uart.c/.h instead of stm32f0_hal_uart_ex.c/.h</li>
<li>General update to enhance robustness for HAL UART driver</li>
<li>Major Update to improve performance in polling/interrupt mode to reach max frequency:
<ul>
<li>Polling mode :
<ul>
<li>Use API data pointer instead of UART handle data pointer.</li>
</ul></li>
<li>Interrupt mode
<ul>
<li>Minimize access on UART registers.</li>
<li>Split the UART modes into dedicated static functions to minimize checking statements under HAL_IRQHandler():
<ul>
<li>8 bit/ 16 bits data formats</li>
</ul></li>
</ul></li>
<li>All modes:
<ul>
<li>Update Timeout management to check on global process.</li>
<li>Update Error code management in all processes.</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL USART</strong> update
<ul>
<li>General update to enhance robustness for HAL USART driver</li>
<li>Major Update to improve performance in polling/interrupt mode to reach max frequency:
<ul>
<li>Polling mode :
<ul>
<li>Use API data pointer instead of USART handle data pointer.</li>
<li>Update HAL USART Transmit/Receive processes to support Word Length 9 Bits with/No parity transfer</li>
</ul></li>
<li>Interrupt mode
<ul>
<li>Minimize access on USART registers.</li>
<li>Split the USART modes into dedicated static functions to minimize checking statements under HAL_IRQHandler():
<ul>
<li>8 bit/ 16 bits data formats</li>
</ul></li>
</ul></li>
<li>All modes:
<ul>
<li>Update Timeout management to check on global process.</li>
<li>Update Error code management in all processes.</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL SMARTCARD</strong> update
<ul>
<li>General update to enhance robustness for HAL SMARTCARD driver</li>
<li>Major Update to improve performance in polling/interrupt mode to reach max frequency:
<ul>
<li>Polling mode :
<ul>
<li>Use API data pointer instead of SMARTCARD handle data pointer.</li>
<li>Update HAL SMARTCARD Transmit/Receive processes to support Word Length 9 Bits with/No parity transfer</li>
</ul></li>
<li>Interrupt mode
<ul>
<li>Minimize access on SMARTCARD registers.</li>
<li>Split the SMARTCARD modes into dedicated static functions to minimize checking statements under HAL_IRQHandler():
<ul>
<li>8 bit/ 16 bits data formats</li>
</ul></li>
</ul></li>
<li>All modes:
<ul>
<li>Update Timeout management to check on global process.</li>
<li>Update Error code management in all processes.</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL IrDA</strong> update
<ul>
<li>General update to enhance robustness for HAL IrDA driver</li>
<li>Update HAL IrDA Transmit/Receive processes to support Word Length 9 Bits with/No parity transfer</li>
<li>Remove unused IRDA_ControlTypeDef() enumeration</li>
</ul></li>
<li><strong>LL/HAL RCC</strong> update
<ul>
<li>Add new LL/HAL macros
<ul>
<li>LL_RCC_PLL_SetMainSource() allowing to configure PLL main clock source</li>
<li>__HAL_RCC_GET_RTC_SOURCE() allowing to get the RTC clock source</li>
</ul></li>
<li>Update HAL_RCC_ClockConfig() API to:
<ul>
<li>update to use __HAL_FLASH_GET_LATENCY() flash macro instead of using direct register access to LATENCY bits in FLASH ACR register.</li>
</ul></li>
<li>Update HAL_RCC_DeInit() and LL_RCC_DeInit() APIs to:
<ul>
<li>Add checks for HSI and PLL ready before modifying RCC CFGR registers</li>
<li>Clear all interrupt flags</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL USB</strong> update
<ul>
<li>Add stm32f3xx_ll_usb.c/h driver</li>
<li>cleanup reference to low speed in device mode</li>
<li>Software Quality improvement with a fix of CodeSonar warning on PCD_Port_IRQHandler() interrupt handlers</li>
<li>Remove wrongly coded PCD_GET6_DB_DIR macro</li>
<li>Improve software quality to be MISRA-C 2012 and CodeSonar compliant</li>
<li>STM32F3 Fix USB Exti Wakeup signal by removing non used macro</li>
<li>Ensure 16bits access to USB PMA</li>
<li>Make sure to set correct count for receive fifo</li>
<li>Rework USB BCD driver and fix required timing to initiate primary and secondary detection</li>
<li>Prevent clearing CTR_RX and CTR_TX flags when setting the EP type</li>
<li>Add error check during USB init</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_2" aria-hidden="true"> <label for="collapse-section1_5_2" aria-hidden="true"><strong>V1.5.2 / 12-June-2018</strong></label>
<div>
<h2 id="main-changes-1">Main Changes</h2>
<ul>
<li><strong>Maintenance release to fix known defects and enhancements implementation</strong></li>
<li><strong>Generic drivers changes</strong></li>
<li>Some global variables on stm32xxx_hal.c updated to be declared as extern</li>
<li><strong>HAL drivers changes</strong></li>
<li><strong>The following changes done on the HAL drivers require an update on the application code based on older HAL versions</strong></li>
<li><strong>Rework of HAL CAN driver (compatibility break)</strong>
<ul>
<li>A new HAL CAN driver has been redesigned with new APIs, to bypass limitations on CAN Tx/Rx FIFO management present with previous HAL CAN driver version.</li>
<li>The new HAL CAN driver is the recommended version. It is located as usual in Drivers/STM32F3xx_HAL_Driver/Src and Drivers/STM32F3xx_HAL_Driver/Inc folders. It can be enabled through switch HAL_CAN_MODULE_ENABLED in stm32f3xx_hal_conf.h</li>
<li>The legacy HAL CAN driver is also present in the release in Drivers/STM32F3xx_HAL_Driver/Src/Legacy and Drivers/STM32F3xx_HAL_Driver/Inc/Legacy folders for software compatibility reasons. Its usage is not recommended as deprecated. It can however be enabled through switch HAL_CAN_LEGACY_MODULE_ENABLED in stm32f3xx_hal_conf.h</li>
</ul></li>
<li><strong>HAL</strong> update
<ul>
<li>Add definiton of HAL_CAN_LEGACY_MODULE_ENABLED swith in stm32f3xx_hal_conf_template.h</li>
</ul></li>
<li><strong>HAL CAN</strong> update
<ul>
<li>Fields of CAN_InitTypeDef structure are reworked:
<ul>
<li>SJW to SyncJumpWidth, BS1 to TimeSeg1, BS2 to TimeSeg2, TTCM to TimeTriggeredMode, ABOM to AutoBusOff, AWUM to AutoWakeUp, NART to AutoRetransmission (inversed), RFLM to ReceiveFifoLocked and TXFP to TransmitFifoPriority</li>
</ul></li>
<li>HAL_CAN_Init() is split into both HAL_CAN_Init() and HAL_CAN_Start() API’s</li>
<li>HAL_CAN_Transmit() is replaced by HAL_CAN_AddTxMessage() to place Tx Request, then HAL_CAN_GetTxMailboxesFreeLevel() for polling until completion.</li>
<li>HAL_CAN_Transmit_IT() is replaced by HAL_CAN_ActivateNotification() to enable transmit IT, then HAL_CAN_AddTxMessage() for place Tx request.</li>
<li>HAL_CAN_Receive() is replaced by HAL_CAN_GetRxFifoFillLevel() for polling until reception, then HAL_CAN_GetRxMessage()</li>
<li>to get Rx message.</li>
<li>HAL_CAN_Receive_IT() is replaced by HAL_CAN_ActivateNotification() to enable receive IT, then HAL_CAN_GetRxMessage()</li>
<li>in the receivecallback to get Rx message</li>
<li>HAL_CAN_Slepp() is renamed as HAL_CAN_RequestSleep()</li>
<li>HAL_CAN_TxCpltCallback() is split into HAL_CAN_TxMailbox0CompleteCallback(), HAL_CAN_TxMailbox1CompleteCallback() and HAL_CAN_TxMailbox2CompleteCallback().</li>
<li>HAL_CAN_RxCpltCallback is split into HAL_CAN_RxFifo0MsgPendingCallback() and HAL_CAN_RxFifo1MsgPendingCallback().</li>
<li>More complete “How to use the new driver” is detailed in the driver header section itself.</li>
</ul></li>
<li><strong>HAL COMP</strong> update
<ul>
<li>Fix wrong configuration of Comparator 4 inverting input for stm32f301x8 device</li>
</ul></li>
<li><strong>HAL DMA</strong> update
<ul>
<li>Add clean of callbacks in HAL_DMA_DeInit() API</li>
</ul></li>
<li><strong>HAL HRTIM</strong> update
<ul>
<li>Add more flexibility on GetTimerIdxFromDMAHandle() static function</li>
</ul></li>
<li><strong>HAL RCC</strong> update
<ul>
<li>Update HAL_RCC_ClockConfig() API to:
<ul>
<li>check on null pointer</li>
<li>optimize code size by updating the handling method of the SWS bits</li>
<li>update to use __HAL_FLASH_GET_LATENCY() flash macro instead of using direct register access to LATENCY bits in FLASH ACR register.</li>
</ul></li>
<li>Update HAL_RCC_DeInit() API to
<ul>
<li>Be able to return HAL</li>
<li>Add checks for HSI and PLL ready before modifying RCC CFGR registers</li>
<li>Clear all interrupt falgs</li>
<li>Initialize systick interrupt period</li>
</ul></li>
</ul></li>
<li><strong>HAL RTC</strong> update
<ul>
<li>Fix warning with static analysis: remove unused variables</li>
</ul></li>
<li><strong>HAL TIM</strong> update
<ul>
<li>Update HAL_TIMEx_OCN_xxxx() and HAL_TIMEx_PWMN_xxx() API description to remove support of TIM_CHANNEL_4</li>
<li>Add a note in functions header to perform timer reset when switching from Aligned counter mode to Edge counter mode (or reverse)</li>
</ul></li>
<li><strong>LL Drivers changes</strong></li>
<li><strong>LL TIM</strong>
<ul>
<li>Add a note in macros header to perform timer reset when switching from Aligned counter mode to Edge counter mode (or reverse)</li>
</ul></li>
<li><strong>LL UTILS</strong>
<ul>
<li>Remove the set of SysTick_CTRL_TICKINT bit in SysTick-&gt;CTRL from LL_InitTick()</li>
</ul></li>
<li><strong>LL RCC</strong>
<ul>
<li>Update LL_RCC_DeInit() API to
<ul>
<li>Be able to return LL status</li>
<li>Add checks for HSI and PLL ready before modifying RCC CFGR registers</li>
<li>Clear all interrupt falgs</li>
</ul></li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_1" aria-hidden="true"> <label for="collapse-section1_5_1" aria-hidden="true"><strong>V1.5.1 / 11-May-2018</strong></label>
<div>
<h2 id="main-changes-2">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation</li>
<li><strong>HAL Drivers changes</strong></li>
<li><strong>HAL</strong> update
<ul>
<li>Update HAL driver to allow user to change systick period to 1ms, 10 ms or 100 ms :
<ul>
<li>Add the following API’s :
<ul>
<li>HAL_GetTickPrio(): Returns a tick priority.</li>
<li>HAL_SetTickFreq(): Sets new tick frequency.</li>
<li>HAL_GetTickFreq(): Returns tick frequency.</li>
</ul></li>
</ul></li>
<li>Add HAL_TickFreqTypeDef enumeration for the different Tick Frequencies: 10 Hz, 100 Hz and 1KHz (default).</li>
<li>Update UNUSED() macro implementation to avoid GCC warning
<ul>
<li>The warning is detected when the UNUSED() macro is called from C++ file</li>
</ul></li>
<li>Update __weak and __packed defined values for ARM compiler</li>
<li>Update __ALIGN_BEGIN and __ALIGN_END defined values for ARM compiler</li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>Update Interface APIs headers to remove confusing message about device address</li>
<li>Update I2C_WaitOnRXNEFlagUntilTimeout() to resolve a race condition between STOPF and RXNE Flags</li>
<li>Update I2C_TransferConfig() to fix wrong bit management</li>
</ul></li>
<li><strong>HAL SMBUS</strong> update
<ul>
<li>Update conditions on HAL SMBUS slave transfer APIs to avoid block on read or write operations</li>
</ul></li>
<li><strong>HAL FLASH</strong> update
<ul>
<li>HAL_FLASH_Unlock() update to return state error when the FLASH is already unlocked</li>
</ul></li>
<li><strong>HAL PCD</strong> update
<ul>
<li>Update redefinition of registers with adjusted address by adding volatile keyword to avoid unexpected change of Memory-mapped peripheral registers</li>
</ul></li>
<li><strong>LL Drivers changes</strong></li>
<li><strong>LL ADC</strong>
<ul>
<li>Update redefinition of registers with adjusted address by adding volatile keyword to avoid unexpected change of Memory-mapped peripheral registers</li>
</ul></li>
<li><strong>LL DAC</strong>
<ul>
<li>Update redefinition of registers with adjusted address by adding volatile keyword to avoid unexpected change of Memory-mapped peripheral registers</li>
</ul></li>
<li><strong>LL HRTIM</strong>
<ul>
<li>Update redefinition of registers with adjusted address by adding volatile keyword to avoid unexpected change of Memory-mapped peripheral registers</li>
</ul></li>
<li><strong>LL I2C</strong>
<ul>
<li>Update LL_I2C_HandleTransfer() to fix wrong bit management</li>
</ul></li>
<li><strong>LL RCC</strong>
<ul>
<li>Fix wrong defined value of LSI</li>
</ul></li>
<li><strong>LL RTC</strong>
<ul>
<li>LL RTC macros optimization:
<ul>
<li>LL_RTC_TIME_GetHour()</li>
<li>LL_RTC_TIME_GetMinute()</li>
<li>LL_RTC_TIME_GetSecond()</li>
<li>LL_RTC_DATE_GetYear()</li>
<li>LL_RTC_DATE_GetMonth()</li>
<li>LL_RTC_DATE_GetDay()</li>
<li>LL_RTC_ALMA_GetDay()</li>
<li>LL_RTC_ALMA_GetHour()</li>
<li>LL_RTC_ALMA_GetMinute()</li>
<li>LL_RTC_ALMA_GetSecond()</li>
<li>LL_RTC_ALMB_GetDay()</li>
<li>LL_RTC_ALMB_GetHour()</li>
<li>LL_RTC_ALMB_GetMinute()</li>
<li>LL_RTC_ALMB_GetSecond()</li>
</ul></li>
</ul></li>
<li><strong>LL SPI</strong>
<ul>
<li>Update LL_SPI_TransmitData8() and LL_SPI_TransmitData16() to fix compilation issues with GCC</li>
</ul></li>
<li><strong>LL TIM</strong>
<ul>
<li>Update redefinition of registers with adjusted address by adding volatile keyword to avoid unexpected change of Memory-mapped peripheral registers</li>
<li>Fix behavior of LL_TIM_IsEnabledUpdateEvent()</li>
</ul></li>
<li><strong>LL UTILS</strong>
<ul>
<li>Update LL_InitTick() to set SysTick_CTRL_TICKINT bit in SysTick-&gt;CTRL</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_0" aria-hidden="true"> <label for="collapse-section1_5_0" aria-hidden="true"><strong>V1.5.0 / 23-June-2017</strong></label>
<div>
<h2 id="main-changes-3">Main Changes</h2>
<ul>
<li><strong>Maintenance release to fix known defects and enhancements implementation</strong></li>
<li><strong>Generic drivers changes</strong></li>
<li>MISRA C 2004 rule 11.4 (A cast should not be performed between a pointer to object type and a different pointer to object type).</li>
<li>MISRA C 2004 rule 12.4 (The right-hand operand of a logical or I I operator shall not</li>
<li>contain side effects).</li>
<li>MISRA C 2004 rule 17.4 (Array indexing shall be the only allowed form of pointer arithmetic).</li>
<li>Remove uselesss cast (uint32_t ) cast in case of ‘U’ suffix.</li>
<li>Fix Code Sonar warnings (useless assignment, cast alters value, empty while statement …).</li>
<li>Minor improvement of Doxygen Tags for CHM UM generation.</li>
<li>Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions.</li>
<li><strong>HAL Drivers changes</strong></li>
<li><strong>The following changes done on the HAL drivers require an update on the application code based on HAL V1.4.0</strong>
<ul>
<li>HAL NAND driver: Overall driver rework with compatibility break versus previous HAL version (see below).</li>
</ul></li>
<li><strong>HAL</strong>
<ul>
<li>Correct RTC_PREDIV values (for LSI clock) in hal_timebase_rtc_alam_template.c and hal_timebase_rtc_wakeup_template.c</li>
<li>Add definition of USE_SPI_CRC in hal_conf_template.h</li>
<li>Modify HAL_Delay() function to garantee minimum delay.</li>
<li>New API : HAL_GetUIDwx() read the unique device identifier word x.</li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Remove unused litteral ADC_EOC_SINGLE_SEQ_CONV.</li>
<li>Correct name of one ADC external trigger of regular group : ADC_EXTERNALTRIGCONV_T4_CC4.</li>
</ul></li>
<li><strong>HAL CAN</strong>
<ul>
<li>Add transmission abort when timeout is reached in HAL_CAN_Transmit().</li>
<li>Add managment of overrun error.</li>
<li>Store missing FIFO number in received message.</li>
<li>Extend SET_BIT, CLEAR_BIT macro usage.</li>
<li>Allow possibility to receive messages from the 2 RX FIFOs in parallel via interrupt.</li>
<li>Fix message lost issue with specific sequence of transmit requests.</li>
</ul></li>
<li><strong>HAL COMP</strong>
<ul>
<li>COMP_WINDOWMODE litterals clean-up according to family diversity.</li>
</ul></li>
<li><strong>HAL NAND</strong>
<ul>
<li>Overall driver rework in order to support NAND flash memories with higher capacities.</li>
<li>Add support of 16 bits adressing mode</li>
<li>API changes :
<ul>
<li>Add HAL_NAND_ConfigDevice() function</li>
<li>Split HAL_NAND_Read_Page(), HAL_NAND_Write_Page(), HAL_NAND_Read_SpareArea(), HAL_NAND_Write_SpareArea() in <em>8b and </em> 16b functions to select the proper adressing mode.</li>
</ul></li>
</ul></li>
<li><strong>HAL HRTIM</strong>
<ul>
<li>Modify __HAL_HRTIM_SETCLOCKPRESCALER macro to clear CKPSC and CKPSCx bits before setting new prescaler value.</li>
<li>Correct HRTIM_EVENTFASTMODE_DISABLE and HRTIM_EVENTFASTMODE_ENABLE defines.</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Editorial modification : astyle clean-up</li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li>New API : Digital/Analog filter configuration with HAL_SMBUS_ConfigAnalogFilter() and HAL_SMBUS_ConfigDigitalFilter().</li>
</ul></li>
<li><strong>HAL PCD</strong>
<ul>
<li>Fix and Improve PCD_ReadPMA() API to prevent corrupting user buffer.</li>
<li>Minor changes in HAL_PCD_CLEAR_FLAG, PCD_CLEAR_TX/RX_EP_CTR macros.</li>
<li>Fix USB device remote wakeup issue.</li>
<li>USB PCD interrupt handler: remove useless usb device interrupts enable, already set during the pcd init.</li>
<li>Remove lock/unlock from USB receive and transmit endpoints.</li>
</ul></li>
<li><strong>HAL RTC</strong>
<ul>
<li>Correct RTC Time register initialization.</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Empty RXFIFO in case of end of MASTER transmission 2 lines.</li>
</ul></li>
<li><strong>HAL I2S</strong>
<ul>
<li>Fix full duplex I2S with circular DMA issues :
<ul>
<li>Don’t stop DMA at end of transfert</li>
<li>Solve synchroniszation issues between RX and TX.</li>
</ul></li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>Fix typo in __HAL_TIM_SET_PRESCALER macro.</li>
<li>Improvment of TIM DMA burst mode. Add 2 new API :
<ul>
<li>HAL_TIM_DMABurst_MultiWriteStart()</li>
<li>HAL_TIM_DMABurst_MultiReadStart()</li>
</ul></li>
<li>Add BRK2 (Break input 2 event) interrupt handler.</li>
<li>Update IRQ handler to use correct defines (TIM_FLAG_xxxx instead of TIM_IT_xxxx) to clear flag.</li>
</ul></li>
<li><strong>LL Drivers changes</strong></li>
<li><strong>LL ADC</strong>
<ul>
<li>Set TEMPSENSOR_CAL1_TEMP value to 30°C as specified in datasheet.</li>
</ul></li>
<li><strong>LL DMA</strong>
<ul>
<li>Replace SET_BIT macro by WRITE_REG in LL_DMA_ClearFlag_xxx() as DMA IFCR register is read only.</li>
<li>For better performances, CPAR and CMAR regsiters are updated by WRITE_REG macro instead of MODIFY_REG.</li>
</ul></li>
<li><strong>LL I2C</strong>
<ul>
<li>OA1EN bit of OAR1 register should be set only when own address different from 0 (0 reserved for General Call address).</li>
</ul></li>
<li><strong>LL RTC</strong>
<ul>
<li>Update LL_RTC_DATE_Get() function for better performances.</li>
</ul></li>
<li><strong>LL SPI</strong>
<ul>
<li>Remove LL_SPI_SR_UDR (available only for I2S feature).</li>
</ul></li>
<li><strong>LL_TIM</strong>
<ul>
<li>Add AutomaticOutput field initialization in LL_TIM_BDTR_StructInit().</li>
<li>Fix typo in __HAL_TIM_SET_PRESCALER macro.</li>
<li>Ensure write operation of BKE and BKP bits is effective by adding fake read operation to garantee 1 APB clock cycle before function exit.</li>
<li>Exchange behavior between LL_TIM_EnableUpdateEvent() and LL_TIM_DisableUpdateEvent().</li>
</ul></li>
<li><strong>LL UTILS</strong>
<ul>
<li>Update function UTILS_EnablePLLAndSwitchSystem() to use current AHB prescaler for sysclk frequency calculation.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_4_0" aria-hidden="true"> <label for="collapse-section1_4_0" aria-hidden="true"><strong>V1.4.0 / 16-December-2016</strong></label>
<div>
<h2 id="main-changes-4">Main Changes</h2>
<ul>
<li><strong>Maintenance release to fix known defects and enhancements implementation</strong></li>
<li><strong>HAL Drivers changes</strong></li>
<li>Enhance HAL delay and time base implementation:
<ul>
<li>Add new templates stm32f0xx_hal_timebase_rtc_alarm_template.c, stm32f0xx_hal_timebase_rtc_wakeup_template.c and stm32f0xx_hal_timebase_tim_template.c which can be used to override the native HAL time base functions (defined as weak) to use either RTC or Timer as time base tick source. For more details about the usage of these drivers, please refer to HAL_TimeBase examples and FreeRTOS-based applications</li>
</ul></li>
<li><strong>The following changes done on the HAL drivers require an update on the application code based on HAL V1.3.0</strong></li>
<li><em>HAL CEC</em> driver: Overall driver rework with compatibility break versus previous HAL version
<ul>
<li>Remove HAL CEC polling Process functions: HAL_CEC_Transmit() and HAL_CEC_Receive()</li>
<li>Remove HAL CEC receive interrupt process function HAL_CEC_Receive_IT() and enable the “receive” mode during the Init phase</li>
<li>Rename HAL_CEC_GetReceivedFrameSize() funtion to HAL_CEC_GetLastReceivedFrameSize()</li>
<li>Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()</li>
<li>Remove the ‘InitiatorAddress’ field from the CEC_InitTypeDef structure and manage it as a parameter in the HAL_CEC_Transmit_IT() function</li>
<li>Add new parameter ‘RxFrameSize’ in HAL_CEC_RxCpltCallback() function</li>
<li>Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure</li>
</ul></li>
<li><em>HAL TIM</em> driver : add one field (AutoReloadPreload) in TIM_Base_InitTypeDef structure</li>
<li><strong>HAL Generic</strong>
<ul>
<li>Update HAL Driver compliancy with:
<ul>
<li>MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type)</li>
</ul></li>
</ul></li>
<li><strong>HAL CEC</strong>
<ul>
<li>Overall driver rework with break of compatibility with HAL V1.3.0
<ul>
<li>Remove the HAL CEC polling Process: HAL_CEC_Transmit() and HAL_CEC_Receive()</li>
<li>Remove the HAL CEC receive interrupt process (HAL_CEC_Receive_IT()) and manage the “Receive” mode enable within the Init phase</li>
<li>Rename HAL_CEC_GetReceivedFrameSize() function to HAL_CEC_GetLastReceivedFrameSize() function</li>
<li>Add new HAL APIs: HAL_CEC_SetDeviceAddress() and HAL_CEC_ChangeRxBuffer()</li>
<li>Remove the ‘InitiatorAddress’ field from the CEC_InitTypeDef structure and manage it as a parameter in the HAL_CEC_Transmit_IT() function</li>
<li>Add new parameter ‘RxFrameSize’ in HAL_CEC_RxCpltCallback() function</li>
<li>Move CEC Rx buffer pointer from CEC_HandleTypeDef structure to CEC_InitTypeDef structure</li>
</ul></li>
<li>Update driver to implement the new CEC state machine:
<ul>
<li>Add new “rxState” field in CEC_HandleTypeDef structure to provide the CEC state information related to Rx Operations</li>
<li>Rename “state” field in CEC_HandleTypeDef structure to “gstate”: CEC state information related to global Handle management and Tx Operations</li>
<li>Update CEC process to manage the new CEC states.</li>
<li>Update __HAL_CEC_RESET_HANDLE_STATE() macro to handle the new CEC state parameters (gState, rxState)</li>
</ul></li>
</ul></li>
<li><strong>HAL UART/USART/IRDA/SMARTCARD</strong>
<ul>
<li>IRQ Handler global optimization</li>
<li>New abort API: HAL_PPP_Abort(), HAL_PPP_Abort_IT()</li>
<li>Add error management in case of DMA transfer through HAL_DMA_Abort_IT() and DMA XferAbortCallback()</li>
<li>Polling management update:
<ul>
<li>The user Timeout value must be estimated for the overall process duration</li>
</ul></li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Overall driver optimization to improve performance in polling/interrupt mode to reach maximum peripheral frequency
<ul>
<li>Polling mode:
<ul>
<li>Replace the use of SPI_WaitOnFlagUnitTimeout() function by “if” statement to check on RXNE/TXE flage while transferring data</li>
</ul></li>
<li>Interrupt mode:</li>
<li>Minimize access on SPI registers</li>
<li>All modes:
<ul>
<li>Add the USE_SPI_CRC switch to minimize the number of statements when CRC calculation is disabled</li>
<li>Update timeout management to check on global processes</li>
<li>Update error code management in all processes</li>
</ul></li>
<li>Fix regression in polling mode:
<ul>
<li>Add preparing data to transmit in case of slave mode in HAL_SPI_TransmitReceive() and HAL_SPI_Transmit()</li>
</ul></li>
<li>Fix regression in interrupt mode:
<ul>
<li>Add a wait on TXE flag in SPI_CloseTx_ISR() and in SPI_CloseTxRx_ISR()</li>
<li>Add to manage properly the overrun flag in SPI_CloseRxTx_ISR() and SPI_CloseRx_ISR()</li>
</ul></li>
<li>Prevent data packing mode in reception for STM32F302xC, STM32F303xC, STM32F373xC, STM32F358xx, STM32F378xx</li>
<li>Add check of DMA handle definition before calling HAL_SPI_Receive_DMA, HAL_SPI_Transmit_DMA, HAL_SPI_TransmitReceive_DMA</li>
<li>Updated HAL Driver compliancy with MISRA C 2004 rules:
<ul>
<li>MISRA C 2004 rule 14.3 (a null statement shall only occur on a line by itself).</li>
<li>MISRA C 2004 rule 14.8 (statement forming the body of a switch, while, do … while or for statement shall be a compound statement).</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL DMA</strong>
<ul>
<li>Global driver code optimization to reduce memory footprint</li>
<li>Add new APIs HAL_DMA_RegisterCallback() and HAL_DMA_UnRegisterCallback to register/unregister the different callbacks identified by the enum typedef HAL_DMA_CallbackIDTypeDef</li>
<li>Add new Error Code HAL_DMA_ERROR_NOT_SUPPORTED</li>
<li>Remove DMA HAL_DMA_STATE_READY_HALF &amp; HAL_DMA_STATE_ERROR states in HAL_DMA_StateTypeDef</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Disable I2C_OARx_EN bit before any configuration in OAR1 or 2 in HAL_I2C_Init()</li>
<li>Move I2C_NO_OPTION_FRAME in private section</li>
<li>Update IS_I2C_FASTMODEPLUS macro. Add I2C_FMP_NOT_SUPPORTED definition</li>
<li>Update HAL_I2C_Master_Sequential_Transmit_IT() function (wrong state check)</li>
<li>Add I2C_FIRST_AND_NEXT_FRAME option for I2C Sequential Transfer</li>
<li>On slave, reset LISTEN_TX state in case of direction change</li>
<li>Remove GCC warnings</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>API update : add one field (AutoReloadPreload) in TIM_Base_InitTypeDef structure in order to set ARPE bit from TIMx_CR1 register</li>
<li>New API : add 2 macros (__HAL_TIM_ENABLE_OCxPRELOAD() and __HAL_TIM_DISABLE_OCxPRELOAD()) in order to set OCxPE bit from TIMx_CCMR1, TIMx_CCMR2 and TIMx_CCMR3 registers</li>
<li>Use MODIFY_REG macro to avoid wrong initialisation in ConfigBreakDeadTime()</li>
<li>Add TIM1 ETR remap enums for STM32F334xx devices</li>
<li>HAL_TIMEx_RemapConfig() prototype changed for STM32F334x8 device</li>
<li>Remove TIM_CR2_OIS2N, TIM_CR2_OIS3, TIM_CR2_OIS3N, TIM_CR2_OIS4 managment for STM32F373xC and STM32F378xx devices</li>
<li>API update : Add __HAL_TIM_MOE_DISABLE_UNCONDITIONALLY() function to disable MOE bit without condition</li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li>Remove useless XferSize field initialisation in HAL_SMBUS_Slave_Transmit_IT()</li>
<li>Add support of Zone read/write feature thanks to new XferOptions parameter values SMBUS_OTHER_FRAME_NO_PEC, SMBUS_OTHER_FRAME_WITH_PEC, SMBUS_OTHER_AND_LAST_FRAME_NO_PEC and SMBUS_OTHER_AND_LAST_FRAME_WITH_PEC</li>
</ul></li>
<li><strong>HAL PCD</strong>
<ul>
<li>Updated HAL Driver compliancy with MISRA C 2004 rules : (10.3, 105)
<ul>
<li>MISRA C 2004 rule 10.3 (illegal explicit conversion from underlying MISRA type “unsigned int” to "uint32_t *").</li>
<li>MISRA C 2004 rule 10.5 (bitwise operators ~ and &lt;&lt;).</li>
<li>MISRA C 2004 rule 12.7 (bitwise operations not performed on signed integer types).</li>
</ul></li>
</ul></li>
<li><strong>HAL PWR</strong>
<ul>
<li>Rename PWR_CR register defines to be aligned with STM32F3xx Reference Manual : SDADCxEN ==&gt; ENSDx</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>Rename RCC_CFGR register defines to be aligned with STM32F3xx Reference Manual : SDADCPRE ==&gt; SDPRE</li>
</ul></li>
<li><strong>HAL CORTEX</strong>
<ul>
<li>Update HAL_MPU_Disable() to clear the whole control register. Also remove STATIC INLINE and move function to c file</li>
</ul></li>
<li><strong>HAL CAN</strong>
<ul>
<li>Add __HAL_UNLOCK() call when all mailboxes are busy</li>
<li>Add __HAL_CAN_CANCEL_TRANSMIT() call to abort transmission when timeout is reached</li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Add ADC_EXTERNALTRIGINJECCONV_T2_CC1 and ADC_EXTERNALTRIGINJECCONV_T2_TRGO definitions</li>
</ul></li>
<li><strong>LL Drivers changes</strong></li>
<li><strong>LL COMP</strong>
<ul>
<li>Creation of generic defines for defines specific to COMP instances</li>
<li>Modify definition of LL_COMP_OUTPUT_TIM4_IC2_COMP4, LL_COMP_OUTPUT_TIM4_IC3_COMP5 and LL_COMP_OUTPUT_TIM4_IC4_COMP6 literals</li>
<li>Rename LL_COMP_OUTPUT_TIM1_IC4_COMP2 and LL_COMP_OUTPUT_TIM1_IC4_COMP1_2 in LL_COMP_OUTPUT_TIM2_IC4_COMP2 and LL_COMP_OUTPUT_TIM2_IC4_COMP1_2</li>
<li>Correct COMP inputs definition</li>
</ul></li>
<li><strong>LL EXTI</strong>
<ul>
<li>Move LL_EXTI_LINE_18, LL_EXTI_LINE_33, LL_EXTI_LINE_34, LL_EXTI_LINE_35, LL_EXTI_LINE_36, LL_EXTI_LINE_37, LL_EXTI_LINE_38 and LL_EXTI_LINE_39 defines under compilation switch (availability depends on devices)</li>
</ul></li>
<li><strong>LL PWR</strong>
<ul>
<li>Rename PWR_CR register defines to be aligned with STM32F3xx Reference Manual : SDADCxEN ==&gt; ENSDx</li>
</ul></li>
<li><strong>LL RCC</strong>
<ul>
<li>Rename RCC_CFGR register defines to be aligned with STM32F3xx Reference Manual : SDADCPRE ==&gt; SDPRE</li>
</ul></li>
<li><strong>LL SYSTEM</strong>
<ul>
<li>Add LL_SYSCFG_EnableIT_FPU_xxx functions</li>
<li>Replace LL_SYSCFG_TIM18_RMP_DMA2_CH4 and LL_SYSCFG_TIM18_RMP_DMA1_CH4 by LL_SYSCFG_TIM18_RMP_DMA2_CH5 and LL_SYSCFG_TIM18_RMP_DMA1_CH5</li>
</ul></li>
<li><strong>LL GPIO</strong>
<ul>
<li>Remove LL_GPIO_SPEED_FREQ_VERY_HIGH (GPIO_SPEED_FREQ_VERY_HIGH does not exist for STM32F3xx serie)</li>
</ul></li>
<li><strong>LL_TIM</strong>
<ul>
<li>Rename LL_TIM_TIM16_TI1_RMP defines : LL_TIM_TIM16_TI1_RMP_GPIO, LL_TIM_TIM16_TI1_RMP_RTC, LL_TIM_TIM16_TI1_RMP_HSE_32, LL_TIM_TIM16_TI1_RMP_MCO</li>
<li>Remove TIM_CR2_OIS2N, TIM_CR2_OIS3, TIM_CR2_OIS3N, TIM_CR2_OIS4 managment for STM32F373xC and STM32F378xx devices</li>
<li>Move LL_TIM_OCREF_CLR_INT_OCREF_CLR and LL_TIM_OCREF_CLR_INT_ETR defines under compilation switch (availability depends on devices)</li>
<li>New APIs to insure BDTR register initialization in a single write operation
<ul>
<li>LL_TIM_BDTR_StructInit()</li>
<li>LL_TIM_BDTR_Init()</li>
</ul></li>
</ul></li>
<li><strong>LL USART</strong>
<ul>
<li>Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions</li>
</ul></li>
<li><strong>LL HRTIM</strong>
<ul>
<li>Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions</li>
<li>Add shift operation in HRTIM_TIM_SetCompareMode()</li>
</ul></li>
<li><strong>LL_I2C</strong>
<ul>
<li>Replace POSITION_VAL(xxx) macro by corresponding CMSIS_Pos definitions</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_3_0" aria-hidden="true"> <label for="collapse-section1_3_0" aria-hidden="true"><strong>V1.3.0 / 01-July-2016</strong></label>
<div>
<h2 id="main-changes-5">Main Changes</h2>
<ul>
<li><strong>First official release supporting the Low Level drivers for the STM32F3xx serie:</strong>
<ul>
<li>Low Layer drivers APIs provide register level programming:</li>
<li>they require deep knowledge of peripherals described in STM32F3xx Reference Manual.</li>
<li>Low Layer drivers are available for ADC, COMP, Cortex, CRC, DAC, DMA, EXTI, GPIO, HRTIM, I2C, IWDG, OPAMP, PWR,</li>
<li>RCC, RTC, SPI, TIM, USART and WWDG peripherals and additional Low Level Bus, System and Utilities APIs.</li>
<li>Low Layer drivers APIs are implemented as static inline function in new Inc/stm32f3xx_ll_ppp.h files for PPP peripherals, there is no configuration file and each stm32f3xx_ll_ppp.h file must be included in user code.</li>
</ul></li>
<li><strong>Maintenance release to fix known defects and enhancements implementation.</strong></li>
<li><strong>HAL generic</strong>
<ul>
<li>Updated.</li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Updated assert_param within HAL_ADCEx_MultiModeConfigChannel() function to avoid issue during ADC configuration change from multimode to independent mode.</li>
</ul></li>
<li><strong>HAL CRC</strong>
<ul>
<li>Updated HAL_CRC_DeInit() function (restored IDR Register to Reset value).</li>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>Updated definition of IS_GPIO_PIN private macro to cover full u32 bits.</li>
</ul></li>
<li><strong>HAL HRTIM</strong>
<ul>
<li>Updated HAL HRTIM Driver compliancy with MISRA C 2004 rules:
<ul>
<li>MISRA C 2004 rule 12.5 (operands of a logical &amp;&amp; or || shall be primary-expressions).</li>
<li>MISRA C 2004 rule 15.3 (final clause of a switch statement shall be the default clause).</li>
</ul></li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Updated I2C driver documentation concerning I2C address management.</li>
</ul></li>
<li><strong>HAL IWDG</strong>
<ul>
<li>New simplified HAL IWDG driver: removed HAL_IWDG_Start(), HAL_IWDG_MspInit() and HAL_IWDG_GetState() APIs.</li>
<li>The API functions are:
<ul>
<li>HAL_IWDG_Init(): this function insures the configuration and the start of the IWDG counter.</li>
<li>HAL_IWDG_Refresh(): this function insures the reload of the IWDG counter.</li>
</ul></li>
</ul></li>
<li><strong>HAL PWR</strong>
<ul>
<li>Aligned Power Wake-Up pins EWUPx definitions on CMSIS definitions.</li>
</ul></li>
<li><strong>HAL RTC</strong>
<ul>
<li>Updated HAL_RTCEx_SetWakeUpTimer_IT() function by adding clear of Wake-Up flag before enabling the interrupt.</li>
</ul></li>
<li><strong>HAL SMBUS</strong>
<ul>
<li>Updated SMBUS driver documentation concerning SMBUS address management.</li>
</ul></li>
<li><strong>HAL SDADC</strong>
<ul>
<li>Updated HAL SDADC Driver compliancy with MISRA C 2004 rules:
<ul>
<li>MISRA C 2004 rule 10.3 (illegal explicit conversion from type “unsigned int” to "uint16_t *).</li>
</ul></li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Updated __SPI_HandleTypeDef definition by using __IO uint16_t type for TxXferCount and RxXferCount.</li>
<li>Updated SPI_2linesTxISR_8BIT() and SPI_2linesTxISR_16BIT() functions: added return so that SPI_2linesTxISR_8BITCRC() or SPI_2linesTxISR_16BITCRC() function is called from HAL_SPI_TransmitReceive_IT() when CRC is activated.</li>
<li>Updated SPI Driver compliancy with MISRA C 2004 rule 5.2 (identifiers in an inner scope shall not use the same name as an identifier in an outer scope).</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>New simplified HAL WWDG driver: removed HAL_WWDG_Start(), HAL_WWDG_Start_IT(), HAL_WWDG_MspDeInit() and HAL_WWDG_GetState() APIs.</li>
<li>Updated HAL_WWDG_Refresh() API to remove counter parameter.</li>
<li>New field EWIMode in WWDG_InitTypeDef to specify need for Early Wakeup Interrupt.</li>
<li>The API functions are: HAL_WWDG_Init(), HAL_WWDG_MspInit(), HAL_WWDG_Refresh(), HAL_WWDG_IRQHandler() and HAL_WWDG_EarlyWakeupCallback().</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_2_1" aria-hidden="true"> <label for="collapse-section1_2_1" aria-hidden="true"><strong>V1.2.1 / 29-April-2016</strong></label>
<div>
<h2 id="main-changes-6">Main Changes</h2>
<ul>
<li><strong>Maintenance release to fix known defects and enhancements implementation.</strong></li>
<li><strong>HAL generic</strong>
<ul>
<li>Updated HAL Driver compliancy with MISRA C 2004 rules:
<ul>
<li>MISRA C 2004 rule 10.6 (‘U’ suffix applied to all constants of ‘unsigned’ type).</li>
<li>MISRA C 2004 rule 10.5 (bitwise operators ~ and &lt;&lt;).</li>
<li>MISRA C 2004 rule 12.6 (operands of logical operators (&amp;&amp;, || and !) should be effectively Boolean).</li>
<li>MISRA C 2004 rule 12.7 (bitwise operations not performed on signed integer types).</li>
<li>MISRA C 2004 rule 14.3 (a null statement shall only occur on a line by itself).</li>
<li>MISRA C 2004 rule 14.8 (statement forming the body of a switch, while, do … while or for statement shall be a compound statement).</li>
<li>MISRA C 2004 rule 15.3 (final clause of a switch statement shall be the default clause).</li>
<li>MISRA C 2004 rule 16.4 (identifiers used in the declaration and definition of a function shall be identical).</li>
</ul></li>
<li>Updated HAL weak empty callbacks to prevent unused argument compilation warnings.</li>
<li>Updated stm32f3xx_hal_conf.h files:</li>
<li>Set HSE_STARTUP_TIMEOUT value to 100ms instead of 5000ms.</li>
</ul></li>
<li><strong>HAL</strong>
<ul>
<li>Changed uwTick to global to allow overwrite of HAL_IncTick().</li>
</ul></li>
<li><strong>HAL COMP</strong>
<ul>
<li>Added delay in COMP startup time required to reach propagation delay specification.</li>
<li>Added missing __HAL_UNLOCK, __HAL_LOCK in HAL_COMP_Start().</li>
<li>Modified COMP_INVERTINGINPUT_SELECTION() macro as COMP inverting inputs selection, depends on COMPx instance.</li>
</ul></li>
<li><strong>HAL DAC</strong>
<ul>
<li>Updated DAC functions after DAC_CR_BOFFx/DAC_CR_OUTENx bit definition updates.</li>
</ul></li>
<li><strong>HAL DMA</strong>
<ul>
<li>Added __HAL_DMA_GET_COUNTER() macro returning the number of remaining data units in the current DMA Channel transfer.</li>
<li>Provided new function HAL_DMA_Abort_IT() to abort current DMA transfer under interrupt mode without polling for DMA enable bit.</li>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>Added macros to manage Fast Mode Plus on GPIOs.</li>
</ul></li>
<li><strong>HAL FMC</strong>
<ul>
<li>Removed private macro IS_FMC_PAGESIZE not supported by STM32F3xx serie.</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Aligned I2C driver with new state machine definition.</li>
<li>Updated __HAL_I2C_DISABLE_IT macro.</li>
<li>Used macro definition for I2C instances supporting Wakeup from Stop mode.</li>
<li>Added support of repeated start feature in case of multimaster mode (allow master to keep I2C communication with slave).</li>
<li>Updated WaitOnFlag management (timeout measurement should be always cumulative).</li>
<li>Optimized HAL_I2C_XX_IRQHandler() functions (read status registers only once).</li>
<li>Reworked DMA end process and I2C error management during DMA transfer.</li>
<li>Modified HAL_I2C_Master_Transmit to handle sending data of size 0.</li>
<li>Updated DMA Abort management: used new HAL_DMA_Abort() function and called HAL_I2C_ErrorCallback() when errors occur during DMA transfer.</li>
</ul></li>
<li><strong>HAL I2S</strong>
<ul>
<li>Removed support of I2S full-duplex feature on STM32F301x8 device.</li>
</ul></li>
<li><strong>HAL IRDA</strong>
<ul>
<li>Reviewed IRDA state machine to avoid cases where IRDA state is overwritten by IRDA IRQ.</li>
<li>Modified EIE bit setting in Tx and Rx transfers (Interrupt mode).</li>
<li>Modified IRDA_Receive_IT() to execute the RX flush request only in case no data is read from RDR.</li>
<li>Updated IRDA_SetConfig() function following UART Baudrate calculation update.</li>
</ul></li>
<li><strong>HAL FMC</strong>
<ul>
<li>Updated FMC_NORSRAM_Init() function (BurstAccessMode field configuration).</li>
<li>Added FMC_BCR1_CCLKEN in the BCR register clear mask used for FMC_NORSRAM_Init().</li>
</ul></li>
<li><strong>HAL OPAMP</strong>
<ul>
<li>Updated definitions of OPAMP Non Inverting Input constants.</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>Performed optimizations for internal oscillators and PLL startup time.</li>
<li>Performed optimizations for HAL_RCC_ClockConfig(), HAL_RCCEx_PeriphCLKConfig functions.</li>
<li>Modified reset of Backup domain only if the RTC Clock source selection is modified from reset value.</li>
<li>Updated HAL_RCC_OscConfig() function (Reset HSEON/LSEON and HSEBYP/LSEBYP bits before configuring the HSE/LSE).</li>
<li>Corrected updates of SystemCoreClock variable within the HAL drivers.</li>
<li>Corrected invertion in LSE drive capability Bit definition.</li>
<li>Modified AHBPrescTable and APBPrescTable in HAL.</li>
<li>Removed RCC_CFGR_PLLNODIV bit definition from STM32F358xx, STM32F303xC and STM32F302xC devices.</li>
<li>Removed RCC_CSR_VREGRSTF bit definition in RCC_CSR register for STM32F303xC and STM32F303xE devices.</li>
<li>Removed USART2 and USART3 clock switch in RCC_CFGR3 register not supported by STM32F303x8, STM32F334x8</li>
<li>and STM32F328xx devices and for STM32F301x8, STM32F302x8 and STM32F318xx devices.</li>
<li>Removed RCC_CSR_V18PWRRSTF bit definition in RCC_CSR register not supported by STM32F318xx, STM32F328xx, STM32F358xx, STM32F378xx and STM32F398xx devices.</li>
<li>Removed flag RCC_FLAG_RMV which is write only.</li>
<li>Added RCC_CFGR_xxxx_BITNUMBER definitions for portability between STM32 series.</li>
<li>Updated HAL_RCC_OscConfig() function to enable PWR only if necessary for LSE configuration.</li>
</ul></li>
<li><strong>HAL RTC</strong>
<ul>
<li>Added missing Tamper definitions (RTC_TAFCR register).</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong>
<ul>
<li>Reviewed SMARTCARD state machine to avoid cases where SMARTCARD state is overwritten by SMARTCARD IRQ.</li>
<li>Modified SMARTCARD_Receive_IT() to execute the RX flush request only in case no data is read from RDR.</li>
<li>Added SMARTCARD_STOPBITS_0_5 definition used for smartcard mode.</li>
<li>Updated SMARTCARD_SetConfig() function following UART Baudrate calculation update.</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Updated HAL_SPI_TransmitReceive() function in slave mode to receive correctly the CRC when NSS pulse activated.</li>
<li>Added missing __IO in SPI_HandleTypeDef definition.</li>
<li>Updated IS_SPI_CRC_POLYNOMIAL macro definition as polynomial value should be odd only.</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>Updated HAL_TIM_ConfigOCrefClear() function to manage correctly TIM state (BUSY, READY).</li>
<li>Used IS_TIM_HALL_INTERFACE_INSTANCE macro instead of IS_TIM_XOR_INSTANCE macro in</li>
<li>HAL_TIMEx_HallSensor_xxx() functions.</li>
<li>Updated TIM_SLAVEMODE constants definitions using CMSIS bit definitions.</li>
</ul></li>
<li><strong>HAL TSC</strong></li>
<li>Updated IO default state management.</li>
<li><strong>HAL UART-USART</strong>
<ul>
<li>Updated UART Baudrate calculation (UART_DIV_SAMPLING8() and UART_DIV_SAMPLING16() macros).</li>
<li>Updated USART_SetConfig() function following UART Baudrate calculation update.</li>
<li>Reviewed UART state machine to avoid cases where UART state is overwritten by UART IRQ.</li>
<li>Removed USART2 and USART3 clock switch, not supported by STM32F303x8, STM32F334x8 and STM32F328xx devices and for STM32F301x8, STM32F302x8 and STM32F318xx devices.</li>
<li>Modified UART_Receive_IT() to execute the RX flush request only in case no data is read from RDR.</li>
<li>Corrected macro used in assert_param of HAL_LIN_SendBreak() function.</li>
<li>Added UART_STOPBITS_0_5/USART_STOPBITS_0_5 definitions used for synchronous mode.</li>
</ul></li>
<li><strong>HAL USB</strong>
<ul>
<li>Corrected double buffer implementation in PCD_SET_EP_DBUF1_CNT() macro.</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>Aligned WWDG registers bits naming between all STM32 series.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_2_0" aria-hidden="true"> <label for="collapse-section1_2_0" aria-hidden="true"><strong>V1.2.0 / 13-November-2015</strong></label>
<div>
<h2 id="main-changes-7">Main Changes</h2>
<ul>
<li><strong>Performed HAL API alignment (macros/functions/constants renaming).</strong></li>
<li><strong>HAL generic</strong>
<ul>
<li>Provided/updated User Manual CHM files for STM32F334x8, STM32F373xC, STM32F303xC devices.</li>
<li>Updated HAL drivers to ensure compliancy w/ C++.</li>
<li>Made corrections for MISRA rule: bitwise operators ~ and &lt;&lt; (MISRA C 2004 rule 10.5).</li>
<li>Used CMSIS mask definitions instead of hardcoded values.</li>
<li>Removed all the unused FLAG and IT assert macros.</li>
<li>Initialized Handle lock to HAL_UNLOCKED in HAL_PPP_Init() when state == HAL_PPP_STATE_RESET.</li>
<li>Updated stm32f3xx_hal_msp.c files:
<ul>
<li>Removed reference to MicroXplorer.</li>
</ul></li>
<li>Updated stm32f3xx_hal_conf.h files:
<ul>
<li>Added LSE_STARTUP_TIMEOUT definition.</li>
</ul></li>
<li>Updated stm32f3xx_hal_def.h file:
<ul>
<li>Added some generic defines (__NOINLINE).</li>
<li>Removed NULL redefinition.</li>
</ul></li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Updated HAL ADC state machine updated. States changed from fixed literals to bitfields.</li>
<li>Added 3 new HAL ADC functions: HAL_ADCEx_RegularStop(), HAL_ADCEx_RegularStop_IT(), HAL_ADCEx_RegularStop_DMA(), to perform a ADC group regular conversion stop</li>
<li>while ADC group injected can remain with conversion on going.</li>
<li>Added 2 new HAL ADC functions: HAL_ADCEx_LevelOutOfWindow2Callback(), HAL_ADCEx_LevelOutOfWindow3Callback().</li>
<li>The 3 analog watchdog has its own callback function (AWD1 callback function is unchanged with HAL_ADC_LevelOutOfWindowCallback()).</li>
<li>Updated ADC multimode (for devices with several ADC instances).</li>
<li>Now takes into account mixed configuration: ADC group regular in multimode, ADC group injected in independent mode (and the opposite).</li>
<li>Updated ADC group injected use case when used with feature low power “auto-wait”:</li>
<li>updated function HAL_ADCEx_InjectedGetValue() which don’t clear anymore ADC flag EOS, and could cause some issues when using ADC group injected with high sampling rate.</li>
</ul></li>
<li><strong>HAL CAN</strong>
<ul>
<li>Added __HAL_UNLOCK(hcan) macro.</li>
<li>Modified CanTxMsgTypeDef/CanRxMsgTypeDef structures Data field.</li>
<li>Removed assert_param(IS_CAN_BANKNUMBER(sFilterConfig-&gt;BankNumber)) from HAL_CAN_ConfigFilter().</li>
</ul></li>
<li><strong>HAL CEC</strong>
<ul>
<li>Changed the HAL_CEC_ErrorTypeDef structure by separate defines.</li>
<li>Added CEC Flags Definitions(CEC_FLAG_TXACKE,…).</li>
<li>Add CEC Interrupts Definitions(CEC_IT_TXACKE,…).</li>
<li>Renamed CEC_ISR_XXX to CEC_FLAG_XXX.</li>
<li>Renamed CEC_IER_XXX to CEC_IT_XXX.</li>
<li>Added missing assert_param(IS_CEC_ALL_INSTANCE(hcec-&gt;Instance)); in In HAL_CEC_Init().</li>
<li>Added devices that supports CEC in device.h files.</li>
<li>Updated CEC Ready To Receive State in CEC_Transmit_IT().</li>
<li>Added new API HAL_CEC_GetReceivedFrameSize to get size of the received frame.</li>
</ul></li>
<li><strong>HAL COMP</strong>
<ul>
<li>Updated COMPEx_Output comment description and added test on instances.</li>
<li>Updated HAL_COMP_DeInit() to handle LOCKED state.</li>
<li>Added missing defines for COMP window mode (Sunfish).</li>
</ul></li>
<li><strong>HAL CORTEX</strong>
<ul>
<li>Removed __HAL_CORTEX_SYSTICKCLK_CONFIG macro, replaced by HAL_SYSTICK_CLKSourceConfig() function.</li>
<li>Added new CORTEX MPU APIs: HAL_MPU_ConfigRegion(), HAL_MPU_Disable(),HAL_MPU_Enable().</li>
<li>Added APIs to manage set/reset of SLEEPONEXIT and SEVONPEND bits in SCR register.</li>
<li>Added a check on negative parameter values for HAL_NVIC_DisableIRQ()/HAL_NVIC_EnableIRQ() functions.</li>
</ul></li>
<li><strong>HAL CRC</strong>
<ul>
<li>Updated CRC APIs comments.</li>
<li>Fixed MISRA C 2004 warnings (except 114, 12.4 and 14.7).</li>
<li>Updated __HAL_CRC_SET_IDR macro.</li>
</ul></li>
<li><strong>HAL DAC</strong>
<ul>
<li>Update HAL_DACEx_NoiseWaveGenerate() and HAL_DACEx_TriangleWaveGenerate() to reset DAC CR register before setting the new DAC config.</li>
<li>Added DAC_OUTPUTSWITCH_ENABLE constant.</li>
</ul></li>
<li><strong>HAL DMA</strong>
<ul>
<li>Reviewed HAL_DMA_PollForTransfer(). Added error code.</li>
</ul></li>
<li><strong>HAL FLASH/FMC</strong>
<ul>
<li>Added FLASH API HAL_FLASHEx_OBGetUserData() to get the value saved in User data option byte.</li>
<li>Aligned Return value of HAL_FLASH_EndOfOperationCallback function (0xFFFFFFF) when process is finished.</li>
<li>Updated function FLASH_OB_GetRDP() return value (FlagStatus (RESET,SET)).</li>
<li>Corrected way to set Flash read protection by performing an automatic option byte erase in FLASH_OB_RDP_LevelConfig function.</li>
<li>Updated Disable WRP to be compliant with other families.</li>
<li>Removed double definition of IS_OB_SDACD_VDD_MONITOR.</li>
<li>Added missing macro __HAL_FLASH_GET_LATENCY.</li>
<li>Corrected IS_OPTIONBYTE() macro in the case all option_OB are selected.</li>
<li>Updated HAL_NOR_GetStatus() (missing exit from waiting loop when timeout occurred).</li>
<li>Reviewed __ARRAY_ADDRESS macro and adapted tests to detect bad blocks.</li>
<li>Updated FMC_NORSRAM_Init()/FSMC_NORSRAM_Init() in order to not modify the default values for the reserved bits in the BTCR register.</li>
</ul></li>
<li><strong>HAL GPIO</strong>
<ul>
<li>Updated GPIO Output Speed literals naming to ensure HAL full compatibility.</li>
<li>Added only one define BSRR for BSRRH/BSRRL register.</li>
<li>Fixed issue to ensure interrupt mode is reset.</li>
<li>Reworked GPIO_GET_SOURCE() in order to check only existing GPIO bank.</li>
<li>Add new macro IS_GPIO_AF_INSTANCE to protect GPIO banks without alternate function register from being initialized as AF.</li>
</ul></li>
<li><strong>HAL HRTIM</strong>
<ul>
<li>Corrected bit definition for HRTIM_MCMPxR registers.</li>
<li>Corrected naming for delayed protection related constants.</li>
<li>Added missing assert in HAL_HRTIM_BurstModeConfig().</li>
<li>Added missing macros __HAL_FREEZE_ HRTIM1_DBGMCU(), __HAL_UNFREEZE_ HRTIM1_DBGMCU () to stop the HRTIM when the core is halted (to control the DBGMCU_APB2_FZ.DBG_HRTIM1_STOP bitfield).</li>
</ul></li>
<li><strong>HAL I2C</strong>
<ul>
<li>Corrected wrong management of AF after NACK.</li>
<li>Renamed I2C_CR1_DFN to I2C_CR1_DNF.</li>
<li>Corrected management of I2C state in the function I2C_MasterTransmit_ISR().</li>
<li>Re-introduced the MACROs to manage the FM+ capapbility on some GPIOs.</li>
</ul></li>
<li><strong>HAL I2S</strong>
<ul>
<li>Added DMA circular mode support for the communication peripherals.</li>
<li>Updated I2S HAL_I2S_Transmit() API on busy flag.</li>
</ul></li>
<li><strong>HAL IRDA</strong>
<ul>
<li>Added DMA circular mode support for the communication peripherals.</li>
<li>Implemented __HAL_UART_FLUSH_DRREGISTER macro, required by the In-Application Programming (IAP)</li>
<li>using the USART application.</li>
<li>Used new macro IS_UART_DMA_INSTANCE in assert_param() calls for IRDA DMA related primitives.</li>
<li>Changed UART TX-IT implementation to remove WaitOnFlag in ISR.</li>
<li>Fixed issue in IRDA DMA implementation: missed clear of the TC bit in the SR register.</li>
<li>Corrected definition of IS_IRDA_REQUEST_PARAMETER macro.</li>
<li>Modified Time Out management: report state READY instead of TIMEOUT.</li>
<li>Time-out information is reported by function output parameter.</li>
<li>Corrected PCLK source for USART1.</li>
</ul></li>
<li><strong>HAL OPAMP</strong>
<ul>
<li>Updated HAL_OPAMP_DeInit() to handle LOCKED state.</li>
<li>Added __HAL_UNLOCK in HAL_OPAMP_DeInit.</li>
<li>Removed InvertingInput ASSERT in HAL_OPAMP_Init() as it is not needed in PGA mode.</li>
<li>Updated definition of OPAMP_CSR_UPDATE_PARAMETERS_INIT_MASK in OPAMP Init.</li>
</ul></li>
<li><strong>HAL PWR</strong>
<ul>
<li>Fixed MISRA C 2004 warnings, resort to reference SET_BIT, CLEAR_BIT macros.</li>
<li>Updated Device information when missing, systematically added USE_FULL_ASSERT compilation switch.</li>
<li>Added local variables addition to suppress warnings.</li>
<li>Removed useless regulator parameter setting in HAL_PWR_EnterSLEEPMode().</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>Renamed RCC_CFGR3_USART1SW_PCLK to RCC_CFGR3_USART1SW_PCLKx according to devices.</li>
<li>Added missing flag for RCC_CSR_VREGRSTF bit.</li>
<li>Added missing flag for RCC_CFGR_MCOF feature.</li>
<li>Added missing macro __HAL_RCC_LSEDRIVE_CONFIG.</li>
<li>Renamed IS_RCC_PERIPHCLK to IS_RCC_PERIPHCLOCK.</li>
<li>Renamed __HAL_RCC_MCO_CONFIG to __HAL_RCC_MCO1_CONFIG.</li>
<li>Updated RCC APIs to add interface HAL_RCCEx_GetPeriphCLKFreq.</li>
<li>Implemented workaround to cover RCC limitation regarding Peripheral enable delay.</li>
<li>Modified HAL_RCCEx_PeriphCLKConfig to reset backup domain only if RTC clock source has been changed.</li>
<li>Reworked __HAL_RCC_LSE_CONFIG macro to manage correctly LSE_Bypass.</li>
<li>Followed specific procedure to enable HSE.</li>
<li>Updated HAL_RCC_OscConfig() to modify check on LSEState.</li>
<li>Added PLL_DIV1 define missing from the RCC_MCO_Clock_Source defgroup.</li>
<li>Added new macro __HAL_RCC_IS_PWR_CLOCK_ENABLED() to replace condition on Peripheral Clock enable status.</li>
<li>Added new macro __HAL_RCC_SYSCLK_CONFIG() to configure the SYSCLK clock source.</li>
<li>Fixed issue in HAL_RCC_OscConfig when RCC_OscInitStruct-&gt;HSEState = RCC_HSE_BYPASS.</li>
</ul></li>
<li><strong>HAL RTC(BKP)</strong>
<ul>
<li>Updated list of backup registers definition.</li>
<li>Updated Bits mask literals used in macros definition.</li>
<li>Renamed RTC_OUTPUT_REMAP_XX and RTC_TIMESTAMPPIN_XX macros.</li>
<li>Updated definition of __HAL_RTC_TAMPER_TIMESTAMP_EXTI_GET_FLAG.</li>
<li>Aligned different implementations of HAL_RTC_XXIRQHandler().</li>
<li>Check the behavior of flag WUTWF and corrected update of wakeup counter registers.</li>
<li>Added subsecond fration formula in HAL_RTC_GetTime() function.</li>
</ul></li>
<li><strong>HAL SDADC</strong>
<ul>
<li>Applied ReferenceVoltage parameter in HAL_SDADC_Init() wathever instance.</li>
<li>Added new macros __HAL_SDADC_ENABLE_IT(), __HAL_SDADC_GET_IT_SOURCE(), __HAL_SDADC_GET_FLAG().</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong>
<ul>
<li>Implemented __HAL_UART_FLUSH_DRREGISTER macro, required by the In-Application Programming (IAP)</li>
<li>using the USART application.</li>
<li>Changed UART TX-IT implementation to remove WaitOnFlag in ISR.</li>
<li>Added missing IDLE flag management.</li>
<li>Modified Time Out management: report state READY instead of TIMEOUT.</li>
<li>Time-out information is reported by function output parameter.</li>
<li>Corrected PCLK source for USART1.</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Improved SPI performances.</li>
<li>Added Fit Bit feedback (with BSY flag check) for all the process.</li>
<li>Updated function descriptions.</li>
<li>Fixed issue on Rx 2line with DataSize8bit, even buffer size and CRC 8bit.</li>
<li>Added DMA circular mode support for the communication peripherals.</li>
<li>Removed DMA Tx Callback in case of RxOnly mode from HAL_SPI_TransmitReceive_DMA().</li>
<li>Added HAL_SPI_GetError().</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>Corrected assert checks in HAL_TIM_ConfigClockSource() when setting internal clock source.</li>
<li>Removed useless assert() in TIM functions.</li>
<li>Updated implementation of __HAL_TIM_SET_COMPARE macro.</li>
<li>Updated Repetition counter bits definition.</li>
<li>Modified HAL_TIM_ConfigOCrefClear() to avoid possible overwrite of SMCR register.</li>
<li>Removed assert on trigger polarity in the case TIM_TS_TI1F_ED.</li>
<li>Removed HAL_TIM_SlaveConfigSynchronization_DMA() from HAL_TIM APIs.</li>
<li>Added TIM edge modification macros: TIM_SET_CAPTUREPOLARITY(), TIM_RESET_CAPTUREPOLARITY(), __HAL_TIM_SET_CAPTUREPOLARITY.</li>
<li>Added URS_ENABLE, URS_DISABLE macros.</li>
<li>Changed Time Out management: report state READY instead of TIMEOUT.</li>
<li>Time-out information is reported by function output parameter.</li>
<li>Added new function HAL_TIM_SlaveConfigSynchronization_IT() to handle the trigger interrupt activation.</li>
</ul></li>
<li><strong>HAL TSC</strong>
<ul>
<li>Recovered IS_TSC_SS and IS_TSC_SSD macro definitions.</li>
</ul></li>
<li><strong>HAL UART-USART</strong>
<ul>
<li>Added DMA circular mode support for the communication peripherals.</li>
<li>Modified Time Out management: report state READY instead of TIMEOUT.</li>
<li>Time-out information is reported by function output parameter.</li>
<li>Changed UART_DMATransmitCplt() implementation to remove WaitOnFlag in ISR.</li>
<li>Implemented __HAL_UART_FLUSH_DRREGISTER macro, required by the In-Application Programming (IAP)</li>
<li>using the USART application.</li>
<li>Corrected behavior of HAL_UART_IRQ_Handler() (removed enabling/disabling of ERR IT source).</li>
<li>Added IS_UART_DMA_INSTANCE macro to sort UART instances supporting DMA communication.</li>
<li>Used new macro IS_UART_DMA_INSTANCE in assert_param() calls for UART DMA related primitives.</li>
<li>Changed UART TX-IT implementation to remove WaitOnFlag in ISR.</li>
<li>Added MACRO to UART HAL to control CTS and RTS from the customer application.</li>
<li>Renamed HAL_UART_WakeupCallback() in HAL_UARTEx_WakeupCallback().</li>
<li>Corrected setting of BRR register bit[3:0] when OVER8 sampling mode is used.</li>
<li>Corrected values used as parameter of __HAL_USART_CLEAR_IT() in HAL_USART_IRQHandler().</li>
<li>Updated HAL_USART_Init() to reach max frequencies (enable oversampling by 8).</li>
<li>Fixed issue in UART DMA implementation: missed clear of the TC bit in the SR register.</li>
<li>Added test in HAL_LIN_Init() as only 8-bit data length is available with USART Lin mode Data length.</li>
<li>Updated USART_IT_CM defined value.</li>
<li>Corrected PCLK source for USART1.</li>
</ul></li>
<li><strong>HAL USB/PCD</strong>
<ul>
<li>Corrected products define supporting USB feature.</li>
<li>Updated call to Double Buffering Counter Function.</li>
<li>Updated HAL PCD clear flag macros configuration.</li>
<li>Corrected issue in HAL_PCD_EP_Transmit() function, regarding the double-buffering mode for IN endpoints.</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>Updated IT macro management.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_1_1" aria-hidden="true"> <label for="collapse-section1_1_1" aria-hidden="true"><strong>V1.1.1 / 19-June-2015</strong></label>
<div>
<h2 id="main-changes-8">Main Changes</h2>
<ul>
<li>Fixed compilation warnings reported by TrueSTUDIO and SW4STM32 toolchains.</li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_1_0" aria-hidden="true"> <label for="collapse-section1_1_0" aria-hidden="true"><strong>V1.1.0 / 12-September-2014</strong></label>
<div>
<h2 id="main-changes-9">Main Changes</h2>
<ul>
<li><strong>First official release of STM32F3xx HAL drivers for STM32F303xE, STM32F302xE and STM32F398xx devices.</strong></li>
<li><strong>HAL generic</strong> update
<ul>
<li>Add support of new devices STM32F302xE and STM32F398xx in STM32F3xx HAL drivers</li>
</ul></li>
<li><strong>HAL ADC</strong>
<ul>
<li>Empty weak function return HAL_ERROR</li>
<li>Misra error corrections</li>
</ul></li>
<li><strong>HAL CORTEX</strong>
<ul>
<li>Macro IS_SYSTICK_CLKSOURCE renamed IS_SYSTICK_CLK_SOURCE</li>
</ul></li>
<li><strong>HAL DAC</strong>
<ul>
<li>Empty weak function return HAL_ERROR</li>
</ul></li>
<li><strong>HAL IWDG</strong>
<ul>
<li>Minor updates (HAL coding rules)</li>
</ul></li>
<li><strong>HAL PCD</strong>
<ul>
<li>Changed IN/OUT EndPoint parameter array size (PCD Handle Structure)</li>
</ul></li>
<li><strong>HAL RCC</strong>
<ul>
<li>RCC_MCOSOURCE_PLLCLK_DIV1 define added to RCC_MCO_Clock_Source defgroup for the following devices: STM32F302xE, STM32F303xE, STM32F398xx, STM32F303x8, STM32F328xx, STM32F301x8, STM32F302x8 and STM32F318xx</li>
</ul></li>
<li><strong>HAL SPI</strong>
<ul>
<li>Removed HAL_ prefix from static function names</li>
</ul></li>
<li><strong>HAL TIM</strong>
<ul>
<li>Checked DeadTime value in debug mode</li>
<li>Add new macros __HAL_TIM_URS_ENABLE() and __HAL_TIM_URS_DISABLE()</li>
</ul></li>
<li><strong>HAL WWDG</strong>
<ul>
<li>Minor updates (HAL coding rules)</li>
<li>Added macro __HAL_WWDG_CLEAR_IT()</li>
<li>Use MODIFY_REG() macro to set Prescaler, Window and Counter registers within HAL_WWDG_Init()</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_1_0_rc2" aria-hidden="true"> <label for="collapse-section1_1_0_rc2" aria-hidden="true"><strong>V1.5.2RC2 / 25-August-2014</strong></label>
<div>
<h2 id="main-changes-10">Main Changes</h2>
<ul>
<li><strong>HAL generic</strong> update
<ul>
<li>General improvement of Doxygen Tags for CHM UM generation</li>
<li>Add support of new devices <strong>STM32F303xE</strong> in STM32F3xx HAL driver</li>
</ul></li>
<li><strong>HAL</strong> update (for <strong>STM32F303xE</strong>)
<ul>
<li>Add new defines for ADC trigger remapping (HAL_REMAPADCTRIGGER_x)</li>
<li>Add new defines for CCM RAM page write protection (up to 16 pages can be write protected)</li>
<li>Add new macro IS_HAL_REMAPADCTRIGGER()</li>
<li>Updated macro IS_HAL_SYSCFG_WP_PAGE ()</li>
<li>Add new macros to freeze/unfreeze TIM20 in debug mode: __HAL_FREEZE_TIM20_DBGMCU() and __HAL_UNFREEZE_TIM20_DBGMCU()</li>
<li>Add new macro to remap the FMC banks 1 and 2 at 0x00000000 : __HAL_FMC_BANK()</li>
<li>Add new macros to enable/disable ADC trigger remapping: __HAL_REMAPADCTRIGGER_ENABLE() and __HAL_REMAPADCTRIGGER_DISABLE()</li>
</ul></li>
<li><strong>HAL ADC</strong> update (for <strong>STM32F303xE</strong>)
<ul>
<li>Add new defines for TIM20 related ADC external triggers for regular groups (ADC_EXTERNALTRIGCONV_T20_x)</li>
<li>Add new defines for TIM20 related ADC external triggers for injected groups (ADC_EXTERNALTRIGINJECCONV_T20_x)</li>
<li>Updated macro __HAL_ADC_CFGR_EXTSEL() to take into account TIM20 related ADC triggers for regular channels</li>
<li>Updated macro __HAL_ADC_JSQR_JEXTSEL() to take into account TIM20 related ADC triggers for injected channels</li>
</ul></li>
<li><strong>HAL COMP</strong> update
<ul>
<li>Defect correction:
<ul>
<li>Missing assert param IS_COMP_TRIGGERMODE</li>
</ul></li>
<li>STM32F303xE:
<ul>
<li>Add new defines for comparator output redirection: COMP_OUTPUT_TIM20BKIN, COMP_OUTPUT_TIM20BKIN2, COMP_OUTPUT_TIM1BKIN2_TIM8BKIN2_TIM20BKIN2 and COMP_OUTPUT_TIM20OCREFCLR</li>
</ul></li>
</ul></li>
<li><strong>HAL FLASH</strong> update (for <strong>STM32F303xE</strong>)
<ul>
<li>Add new defines for write protection of pages 32 to 61 and 62-263 (OB_WRP_PAGESxxTOyy)</li>
</ul></li>
<li><strong>HAL GPIO</strong> update (for <strong>STM32F303xE</strong>)
<ul>
<li>Add new defines for TIM20 and FMC related AF: GPIO_AF2_TIM20, GPIO_AF3_TIM20, GPIO_AF6_TIM20 and GPIO_AF12_FMC</li>
</ul></li>
<li><strong>HAL IRDA</strong> update
<ul>
<li>TC enabled and TXE disabled at the end of TX in IT mode</li>
</ul></li>
<li><strong>HAL NAND (STM32F303xE specific)</strong>
<ul>
<li>FMC: generic firmware to drive NAND memories mounted as external device</li>
</ul></li>
<li><strong>HAL NOR (STM32F303xE specific)</strong>
<ul>
<li>FMC: generic firmware to drive NOR memories mounted as external device</li>
</ul></li>
<li><strong>HAL PCCARD (STM32F303xE specific)</strong>
<ul>
<li>FMC: generic firmware to drive PCCARD memories mounted as external device</li>
</ul></li>
<li><strong>HAL PCD</strong> update
<ul>
<li>Add new macros __HAL_USB_EXTI_GET_FLAG() , __HAL_USB_EXTI_CLEAR_FLAG(), __HAL_USB_EXTI_SET_RISING_EDGE_TRIGGER(), __HAL_USB_EXTI_SET_FALLING_EDGE_TRIGGER() and _HAL_USB_EXTI_SET_FALLINGRISING_TRIGGER()</li>
</ul></li>
<li><strong>HAL PWR</strong> update
<ul>
<li>PVD feature need falling/rising Event modes</li>
<li>Rename defines:
<ul>
<li>PWR_MODE_EVT to PWR_PVD_MODE_NORMAL</li>
<li>PWR_MODE_IT_RISING to PWR_PVD_MODE_IT_RISING</li>
<li>PWR_MODE_IT_FALLING to PWR_PVD_MODE_IT_FALLING</li>
<li>PWR_MODE_IT_RISING_FALLING to PWR_PVD_MODE_IT_RISING_FALLING</li>
<li>PWR_MODE_IT_RISING to PWR_PVD_MODE_IT_RISING</li>
</ul></li>
<li>Add new defines: PWR_PVD_MODE_EVENT_RISING, PWR_PVD_MODE_EVENT_FALLING and PWR_PVD_MODE_EVENT_RISING_FALLING</li>
<li>Changed __HAL_PVD_EXTI_ENABLE_IT() macro definition: EXTILINE argument no longer needed (PWR_EXTI_LINE_PVD is used implicitly)</li>
<li>Changed __HAL_PVD_EXTI_DISABLE_IT() macro definition: EXTILINE argument no longer needed (PWR_EXTI_LINE_PVD is used implicitly)</li>
<li>Changed __HAL_PVD_EXTI_GET_FLAG () macro definition: EXTILINE argument no longer needed (PWR_EXTI_LINE_PVD is used implicitly)</li>
<li>Changed _HAL_PVD_EXTI_CLEAR_FLAG () macro definition: <strong>EXTILINE</strong> argument no longer needed (PWR_EXTI_LINE_PVD is used implicitly)</li>
<li>Add new macros __HAL_PWR_PVD_EXTI_ENABLE_EVENT(), __HAL_PWR_PVD_EXTI_DISABLE_EVENT(), __HAL_PWR_PVD_EXTI_CLEAR_EGDE_TRIGGER(), __HAL_PWR_PVD_EXTI_SET_FALLING_EGDE_TRIGGER() and __HAL_PWR_PVD_EXTI_SET_RISING_EDGE_TRIGGER()</li>
</ul></li>
<li><strong>HAL RCC</strong> update (for <strong>STM32F303xE)</strong>
<ul>
<li>RCC_OcsInitTypeDef and RCC_PLLInitTypeDef definitions are now product dependent:
<ul>
<li>STM32F303xE:
<ul>
<li>Added PREDIV field to RCC_PLLInitTypeDef: used to set the desired pre-division factor whatever the PLL clock source is (HSI or HSE).</li>
<li>Removed field HSEPredivValue from RCC_OscInitTypeDef (replaced by PREDIV field in RCC_PLLInitTypeDef)</li>
</ul></li>
</ul></li>
<li>Other F3 products: no change in RCC_OcsInitTypeDef and RCC_PLLInitTypeDef definitions</li>
<li>Add new definition of RCC_PeriphCLKInitTypeDef to fit STM32F303xE clock selection capabilities (e.g select TIM20 clock source)</li>
<li>Add new defines to select the pre-division factor (RCC_PREDIV_DIVx)</li>
<li>Add new defines to set TIM20 clock source (RCC_PERIPHCLK_TIM20, RCC_TIM20CLK_HCLK and RCC_TIM20CLK_PLLCLK)</li>
<li>Add new defnes to set TIM3 &amp; TIM4 clock source (RCC_PERIPHCLK_TIM34, RCC_TIM34CLK_HCLK, RCC_TIM34CLK_PCLK)</li>
<li>Add FMC related macros: __FMC_CLK_ENABLE(), __FMC_CLK_DISABLE(), __FMC_FORCE_RESET() and __FMC_RELEASE_RESET()</li>
<li>Add GPIO port G related macros: __GPIOG_CLK_ENABLE(), <strong>GPIOG_CLK_DISABLE(), </strong> GPIOG _FORCE_RESET() and __GPIOG _RELEASE_RESET()</li>
<li>Add GPIO port H related macros:_ __GPIOH_CLK_ENABLE(), __GPIOH_CLK_DISABLE(), __FMC_ GPIOH _RESET() and __GPIOH _RELEASE_RESET()</li>
<li>Add SPI4 related macros: __SPI4_CLK_ENABLE(), <strong>SPI4_CLK_DISABLE(), </strong> SPI4_FORCE_RESET() and __SPI4_RELEASE_RESET()</li>
<li>Add TIM20 related macros: __TIM20_CLK_ENABLE(), <strong>TIM20_CLK_DISABLE(), </strong> TIM20_FORCE_RESET() and __TIM20_RELEASE_RESET(), __HAL_RCC_TIM20_CONFIG() , __HAL_RCC_GET_TIM20_SOURCE()</li>
<li>Add new macro to set/get the clock source of TIM3 &amp; TIM4: __HAL_RCC_TIM34_CONFIG() and __HAL_RCC_GET_TIM34_SOURCE()</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong> update
<ul>
<li>Change SMARTCARD_AdvFeatureConfig() from exported to static private function</li>
<li>TC enabled and TXE disabled at the end of TX in IT mode</li>
</ul></li>
<li><strong>HAL SMBUS</strong> update
<ul>
<li>Fix wrong State after a PEC failed</li>
<li>Fix slave acknowledge issue</li>
</ul></li>
<li><strong>HAL SPI</strong> update
<ul>
<li>Fix CodeSonar warning: unreachable Call in SPI_CloseRxTx_ISR()</li>
</ul></li>
<li><strong>HAL SRAM (STM32F303xE specific)</strong>
<ul>
<li>FMC: generic firmware to drive SRAM memories mounted as external device</li>
</ul></li>
<li><strong>HAL TIM</strong> update (for <strong>STM32F303xE</strong>)
<ul>
<li>Add defines to set TIM20 option register (link from analog watchdog and TIM20 ETR)</li>
</ul></li>
<li><strong>HAL UART</strong> update
<ul>
<li>TC enabled and TXE disabled at the end of TX in IT mode</li>
</ul></li>
<li><strong>HAL USART</strong> update
<ul>
<li>TC enabled and TXE disabled at the end of TX in IT mode</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_0_1" aria-hidden="true"> <label for="collapse-section1_0_1" aria-hidden="true"><strong>V1.0.1 / 18-June-2014</strong></label>
<div>
<h2 id="main-changes-11">Main Changes</h2>
<ul>
<li><strong>HAL generic</strong> update
<ul>
<li>Fix flag clear procedure: use atomic write operation “=” instead of ready-modify-write operation “|=” or “&amp;=”</li>
<li>Fix on Timeout management, Timeout value set to 0 passed to API automatically exits the function after checking the flag without any wait.</li>
<li>Add new macro __HAL_RESET_HANDLE_STATE to reset a given handle state.</li>
</ul></li>
<li><strong>HAL ADC</strong> update
<ul>
<li>Rename defines:
<ul>
<li>ADC_EXTERNALTRIGCONV_Ext_IT11 to ADC_EXTERNALTRIGCONV_EXT_IT11</li>
<li>ADC_EXTERNALTRIGCONV_Ext_IT12 to ADC_EXTERNALTRIGCONV_EXT_IT12</li>
</ul></li>
<li>Fix define ADC_SOFTWARE_START</li>
<li>Update external trigger defines to remove HRTIM triggers for STM32F328xx and TIM8 triggers for STM32F302xC</li>
<li>Add ADC1_2_EXTERNALTRIG_T4_CC4 for STM32F303x8 and STM32F328xx</li>
</ul></li>
<li><strong>HAL CEC</strong> update
<ul>
<li>Process no more locked during the transmission in interrupt mode.</li>
</ul></li>
<li><strong>HAL COMP</strong> update
<ul>
<li>Fix on 32-bit register COMP CSR accesses for STM32F373xC and STM32F378xx devices.</li>
<li>Add new defines for STM32F373xC and STM32F378xx comparators:
<ul>
<li>COMP_OUTPUT_TIM3IC1, COMP_OUTPUT_TIM3OCREFCLR, COMP_OUTPUT_TIM2IC4 and COMP_OUTPUT_TIM2OCREFCLR instead of previous defines COMP_OUTPUT_COMP1_TIM3IC1, COMP_OUTPUT_COMP1_TIM3OCREFCLR, COMP_OUTPUT_COMP1_TIM2IC4, COMP_OUTPUT_COMP1_TIM2OCREFCLR, COMP_OUTPUT_COMP2_TIM3IC1, COMP_OUTPUT_COMP2_TIM3OCREFCLR, COMP_OUTPUT_COMP2_TIM2IC4, COMP_OUTPUT_COMP2_TIM2OCREFCLR.</li>
</ul></li>
</ul></li>
<li><strong>HAL DMA</strong> update
<ul>
<li>Fix in HAL_DMA_PollForTransfer() to set error code HAL_DMA_ERROR_TE in case of HAL_ERROR status</li>
</ul></li>
<li><strong>HAL GPIO</strong> update
<ul>
<li>Fix GPIO_AF5_SPI1 define instead of GPIO_AF5_SPI1 for STM32F303x8 device.</li>
</ul></li>
<li><strong>HAL HRTIM</strong> update
<ul>
<li>HRTIM peripheral not available for STM32F328xx device.</li>
<li>Fix macros __HAL_HRTIM_CLEAR_FLAG, __HAL_HRTIM_MASTER_CLEAR_FLAG and __HAL_HRTIM_TIMER_CLEAR_FLAG</li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>Add management of NACK event in Master transmitter mode and Slave transmitter/receiver modes (only in polling mode), in that case the current transfer is stopped.</li>
</ul></li>
<li><strong>HAL IRDA</strong> update
<ul>
<li>Add new enum typedef IRDA_ClockSourceTypeDef</li>
<li>Add new macro __HAL_IRDA_GETCLOCKSOURCE</li>
<li>Change in HAL_IRDA_Transmit_IT() to enable IRDA_IT_TXE instead of IRDA_IT_TC.</li>
<li>Process no more locked during the transmission in interrupt mode.</li>
</ul></li>
<li><strong>HAL OPAMP</strong> update
<ul>
<li>__SYSCFG_CLK_ENABLE() is now handled internally in HAL_OPAMP_Init() and no more in user HAL_OPAMP_MspInit().</li>
</ul></li>
<li><strong>HAL PCD</strong> update
<ul>
<li>Add new macro __HAL_USB_EXTI_GENERATE_SWIT</li>
</ul></li>
<li>HAL PWR update
<ul>
<li>Fix in HAL_PWR_EnterSTANDBYMode() to not clear Wakeup flag (WUF), which need to be cleared at application level before to call this function</li>
</ul></li>
<li><strong>HAL RCC</strong> update
<ul>
<li>Change for STM32F303x8, STM32F334x8 and STM32F328xx devices:
<ul>
<li>Add missing macro __DAC2_FORCE_RESET</li>
<li>Rename RCC_USART1CLKSOURCE_PCLK2 into RCC_USART1CLKSOURCE_PCLK1</li>
</ul></li>
<li>Remove HRTIM1 peripheral and clocking macros for STM32F328xx device.</li>
<li>Fix HSI Calibration issue when selected as SYSCLK</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong> update
<ul>
<li>Change in HAL_SMARTCARD_Transmit_IT() to enable SMARTCARD_IT_TXE instead of SMARTCARD_IT_TC.</li>
<li>Process no more locked during the transmission in interrupt mode.</li>
</ul></li>
<li><strong>HAL SMBUS</strong> update
<ul>
<li>Fix Slave acknowledge issue: Slave should ack each bit and so stretch the line till the bit is not ack</li>
</ul></li>
<li><strong>HAL TIM</strong> update
<ul>
<li>Fix macro __HAL_TIM_PRESCALER</li>
</ul></li>
<li><strong>HAL TSC</strong> update
<ul>
<li>Fix define TSC_ACQ_MODE_SYNCHRO</li>
</ul></li>
<li><strong>HAL UART</strong> update
<ul>
<li>Change in HAL_LIN_Init() parameter BreakDetectLength to uint32_t</li>
<li>Change in HAL_UART_Transmit_IT() to enable UART_IT_TXE instead of UART_IT_TC.</li>
<li>Process no more locked during the transmission in interrupt mode.</li>
</ul></li>
<li><strong>HAL USART</strong> update
<ul>
<li>Change USART_InitTypeDef fields to uint32_t type</li>
<li>Rename __USART_ENABLE and __USART_DISABLE macros to respectively __HAL_USART_ENABLE and __HAL_USART_DISABLE</li>
<li>Change in HAL_USART_Transmit_IT() to enable USART_IT_TXE instead of USART_IT_TC.</li>
<li>Process no more locked during the transmission in interrupt mode.</li>
<li>Change in HAL_USART_TransmitReceive_DMA() to manage DMA half transfer mode</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_0_0" aria-hidden="true"> <label for="collapse-section1_0_0" aria-hidden="true"><strong>V1.0.0 / 06-May-2014</strong></label>
<div>
<h2 id="main-changes-12">Main Changes</h2>
<ul>
<li>First official release of STM32F3xx HAL drivers for <strong>STM32F301x6/x8, STM32F302x6/x8, STM32F302xB/xC, STM32F303x6/x8, STM32F373xB/xC, STM32F334x4/x6/x8, STM32F318xx, STM32F328xx, STM32F358xx and STM32F378xx devices.</strong></li>
</ul>
</div>
</div>
</div>
</div>
<footer class="sticky">
For complete documentation on STM32 Microcontrollers </mark> , visit: <span style="font-color: blue;"><a href="http://www.st.com/stm32">www.st.com/stm32</a></span> <em>This release note uses up to date web standards and, for this reason, should not be opened with Internet Explorer but preferably with popular browsers such as Google Chrome, Mozilla Firefox, Opera or Microsoft Edge.</em>
</footer>
</body>
</html>
