<!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_2020.css" />
  <!--[if lt IE 9]>
    <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
  <![endif]-->
  <link rel="icon" type="image/x-icon" href="_htmresc/favicon.png" />
</head>
<body>
<div class="row">
<div class="col-sm-12 col-lg-4">
<center>
<h1 id="release-notes-forstm32f3xx-hal-drivers"><small>Release Notes for</small><mark>STM32F3xx HAL Drivers</mark></h1>
<p>Copyright © 2016 STMicroelectronics</p>
<a href="https://www.st.com" class="logo"><img src="_htmresc/st_logo_2020.png" alt="ST logo" /></a>
</center>
<h1 id="purpose">Purpose</h1>
<p>The STM32Cube HAL and LL, an STM32 abstraction layer embedded software, ensure maximized portability across STM32 portfolio.</p>
<p>The Portable APIs layer provides a generic, multi instanced and simple set of APIs to interact with the upper layer (application, libraries and stacks). It is composed of native and extended APIs set. It is directly built around a generic architecture and allows the build-upon layers, like the middleware layer, to implement its functions without knowing in-depth the used STM32 device. This improves the library code re-usability and guarantees an easy portability on other devices and STM32 families.</p>
<p>The Low Layer (LL) drivers are part of the STM32Cube firmware HAL that provide basic set of optimized and one shot services. The Low layer drivers, contrary to the HAL ones are not Fully Portable across the STM32 families; the availability of some functions depend on the physical availability of the relative features on the product. The Low Layer (LL) drivers are designed to offer the following features:</p>
<ul>
<li>New set of inline function for direct and atomic register access</li>
<li>One-shot operations that can be used by the HAL drivers or from application level.</li>
<li>Fully Independent from HAL and can be used in standalone usage (without HAL drivers)</li>
<li>Full features coverage of the all the supported peripherals.</li>
</ul>
</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-section1_5_7" checked aria-hidden="true"> <label for="collapse-section1_5_7" aria-hidden="true"><strong>V1.5.7 / 27-January-2023</strong></label>
<div>
<h2 id="main-changes">Main Changes</h2>
<ul>
<li>General updates to fix known defects and implementation enhancements.</li>
<li>HAL code quality enhancement for MISRA-C Rule-8.13 by adding const qualifiers</li>
</ul>
<h2 id="contents">Contents</h2>
<ul>
<li><strong>HAL Generic</strong> update
<ul>
<li>Allow redefinition of macro UNUSED(x).</li>
</ul></li>
<li><strong>HAL RCC</strong> update
<ul>
<li>Add ‘static’ storage-class specifier to ‘const’ arrays.</li>
</ul></li>
<li><strong>HAL EXTI</strong> update
<ul>
<li>Fix computation of pExtiConfig-&gt;GPIOSel in HAL_EXTI_GetConfigLine()</li>
</ul></li>
<li><strong>HAL CRC</strong> update
<ul>
<li>Add filter in HAL_CRCEx_Polynomial_Set() to exclude even polynomials.</li>
</ul></li>
<li><strong>HAL ADC</strong> update
<ul>
<li>Remove multiple volatile reads or writes in interrupt handler for better performance.</li>
</ul></li>
<li><strong>HAL CEC</strong> update
<ul>
<li>Better performance by removing multiple volatile reads or writes in interrupt handler.</li>
</ul></li>
<li><strong>HAL SDADC</strong>
<ul>
<li>Better performance by removing multiple volatile reads or writes in interrupt handler.</li>
</ul></li>
<li><strong>LL/HAL TIM</strong> update
<ul>
<li>Fix HAL_TIMEx_RemapConfig() lock issue: __HAL_LOCK is called before calls to assert_param().</li>
<li>__LL_TIM_CALC_PSC() macro update to round up the evaluate value when the fractional part of the division is greater than 0.5.</li>
<li>Remove useless check on IS_TIM_ADVANCED_INSTANCE() within LL_TIM_BDTR_Init() to fix Break Filter configuration problem with specific TIM instances</li>
</ul></li>
<li><strong>HAL CAN</strong> update
<ul>
<li>Removal of never reached code</li>
<li>Improve protection against bad inputs</li>
</ul></li>
<li><strong>HAL RTC_BKP</strong> update
<ul>
<li>Use bits definitions from CMSIS Device header file instead of hard-coded values.</li>
<li>Wrap comments to be 80-character long and correct typos.</li>
<li>Move constants RTC_IT_TAMP. from hal_rtc.h to hal_rtc_ex.h.</li>
<li>Gather all instructions related to exiting the init mode into new function RTC_ExitInitMode().</li>
<li>Add new macro assert_param(IS_RTC_TAMPER_FILTER_CONFIG_CORRECT(sTamper-&gt;Filter, sTamper-&gt;Trigger)) to check tamper filtering is disabled in case tamper events are triggered on signal edges.</li>
<li>Rework functions HAL_RTCEx_SetTamper() and HAL_RTCEx_SetTamper_IT() to:
<ul>
<li>Write in TAFCR register in one single access instead of two.</li>
<li>Avoid modifying user structure sTamper.</li>
</ul></li>
<li>Check if the RTC calendar has been previously initialized before entering initialization mode.</li>
</ul></li>
<li><strong>HAL NOR</strong> update
<ul>
<li>Align HAL_NOR_Init() API with core of the function when write operation is disabled to avoid HardFault.</li>
<li>FMC_WRITE_OPERATION_DISABLE for NOR cause Hardfault for Read operations</li>
</ul></li>
<li><strong>HAL UART</strong> update
<ul>
<li>Improve header description of UART_WaitOnFlagUntilTimeout() function</li>
<li>Add a check on the UART parity before enabling the parity error interruption.</li>
<li>Add const qualifier for read only pointers.</li>
<li>Fix wrong cast when computing the USARTDIV value in UART_SetConfig().</li>
<li>Add a new API HAL_UARTEx_GetRxEventType() that could be used to retrieve the type of event that has led the RxEventCallback() execution</li>
<li>Removal of HAL_LOCK/HAL_UNLOCK calls in HAL UART Tx and Rx APIs</li>
<li>Disable the Receiver Timeout Interrupt when data reception is completed.</li>
<li>Rework of UART_WaitOnFlagUntilTimeout() API to avoid being stuck forever when UART overrun error occurs and to enhance behavior.</li>
</ul></li>
<li><strong>HAL SMARTCARD</strong> update
<ul>
<li>Improve header description of SMARTCARD_WaitOnFlagUntilTimeout() function</li>
<li>Add const qualifier for read only pointers.</li>
<li>Fix wrong cast when computing the USARTDIV value in SMARTCARD_SetConfig().</li>
</ul></li>
<li><strong>HAL IRDA</strong> update
<ul>
<li>Improve header description of IRDA_WaitOnFlagUntilTimeout() function</li>
<li>Add a check on the IRDA parity before enabling the parity error interrupt.</li>
<li>Add const qualifier for read only pointers.</li>
<li>Fix wrong cast when computing the USARTDIV value in IRDA_SetConfig().</li>
</ul></li>
<li><strong>LL/HAL USART</strong> update
<ul>
<li>Improve header description of USART_WaitOnFlagUntilTimeout() function</li>
<li>Add a check on the USART parity before enabling the parity error interrupt.</li>
<li>Add const qualifier for read only pointers.</li>
<li>Fix compilation warnings generated with ARMV6 compiler.</li>
</ul></li>
<li><strong>HAL SPI</strong> update
<ul>
<li>Fix driver to don’t update state in case of error. (HAL_SPI_STATE_READY will be set only in case of HAL_TIMEOUT).</li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>Improve header description of I2C_WaitOnFlagUntilTimeout() function</li>
<li>Update I2C_TransferConfig() API to Fix written reserved bit 28 in I2C_CR2 register.</li>
<li>Update to handle errors in polling mode.
<ul>
<li>Rename I2C_IsAcknowledgeFailed() to I2C_IsErrorOccurred() and correctly manage when error occurs.</li>
</ul></li>
<li>Update to fix issue detected due to low system frequency execution (HSI).</li>
<li>Declare an internal macro link to DMA macro to check remaining data: I2C_GET_DMA_REMAIN_DATA</li>
<li>Timeout issue using HAL MEM interface through FreeRTOS</li>
<li>I2C_IsErrorOccurred does not return error if timeout is detected.</li>
<li>Clear the ADDRF flag only when direction is confirmed as changed, to prevent that the ADDRF flag is cleared too early when the restart is received</li>
</ul></li>
<li><strong>HAL SMBUS</strong> update
<ul>
<li>Add flushing of TX register to fix issue of mismatching data received by master in case data size to be transmitted by the slave is greater than the data size to be received by the master.</li>
</ul></li>
<li><strong>HAL USB_FS</strong> update
<ul>
<li>PCD: add supporting multi packets transfer on Interrupt endpoint</li>
<li>HAL: PCD: software correction added to avoid unexpected STALL condition during EP0 multi packet OUT transfer.</li>
<li>hal_pcd.h: add a mask for USB RX bytes count</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_6" aria-hidden="true"> <label for="collapse-section1_5_6" aria-hidden="true"><strong>V1.5.6 / 23-July-2021</strong></label>
<div>
<h2 id="main-changes-1">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation.</li>
</ul>
<h2 id="contents-1">Contents</h2>
<ul>
<li><strong>HAL GPIO</strong> driver
<ul>
<li>Update HAL_GPIO_Init() API to avoid the configuration of PUPDR register when Analog mode is selected.</li>
</ul></li>
<li><strong>HAL EXTI</strong> update
<ul>
<li>Update HAL_EXTI_GetConfigLine() API to set default configuration value of Trigger and GPIOSel before checking each corresponding registers.</li>
</ul></li>
<li><strong>LL/HAL ADC</strong> update
<ul>
<li>Update LL_ADC_DMA_GetRegAddr() API to prevent unused argument compilation warning.</li>
<li>Update HAL timeout mechanism to avoid false timeout detection in case of preemption.</li>
</ul></li>
<li><strong>LL/HAL DAC</strong> update
<ul>
<li>Remove ‘register’ storage class specifier from LL DAC driver.</li>
</ul></li>
<li><strong>LL/HAL TIM</strong> update
<ul>
<li>Corrected reversed description of TIM_LL_EC_ONEPULSEMODE One Pulse Mode.</li>
<li>Update HAL_TIMEx_OnePulseN_Start and HAL_TIMEx_OnePulseN_Stop (pooling and IT mode) to take into consideration all OutputChannel parameters.</li>
<li>Update input capture measurement in DMA mode to avoid zero return values at high frequencies.</li>
</ul></li>
<li><strong>HAL I2C</strong> update
<ul>
<li>Updated I2C_IsAcknowledgeFailed() API to avoid I2C in busy state if NACK received after transmitting register address.</li>
</ul></li>
<li><strong>HAL UART</strong> update
<ul>
<li>Fix erroneous UART’s handle state in case of error returned after DMA reception start within UART_Start_Receive_DMA().</li>
<li>Correction on UART ReceptionType management in case of ReceptionToIdle API are called from RxEvent callback</li>
<li>Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)</li>
</ul></li>
<li><strong>HAL CAN</strong> update
<ul>
<li>Update HAL_CAN_Init() API to be aligned with STM32F3 documentation and to avoid timeout error:
<ul>
<li>Update CAN Initialization sequence to set “request initialization” bit before exit from sleep mode.</li>
</ul></li>
</ul></li>
<li><strong>LL FMC</strong> update
<ul>
<li>Fix compilation warning with gcc -Wpedantic compiler option.</li>
</ul></li>
<li><strong>HAL SPI</strong> update
<ul>
<li>Updated to fix MISRA-C 2012 Rule-13.2.</li>
<li>Updated to set the FRXTH bit for 8bit data in LL_SPI_Init() API.</li>
<li>Update LL_SPI_TransmitData8() API to avoid casting the result to 8 bits.</li>
</ul></li>
<li><strong>HAL I2S</strong> update
<ul>
<li>Update I2SEx APIs to correctly support circular transfers:
<ul>
<li>Update I2SEx_TxRxDMACplt() API to manage DMA circular mode.</li>
<li>Update HAL_I2SEx_TransmitReceive_DMA() to enhance HAL I2S driver robustness:
<ul>
<li>Remove DMA TX transfer complete and half complete callback initialization.</li>
</ul></li>
</ul></li>
</ul></li>
<li><strong>HAL IWDG</strong> update
<ul>
<li>Updated HAL_IWDG_Init() API in order to fix HAL_GetTick() timeout vulnerability issue.</li>
</ul></li>
<li><strong>HAL RTC</strong> update
<ul>
<li>Update __HAL_RTC_…(__HANDLE__, …) macros to access registers through (__HANDLE__)-&gt;Instance pointer and avoid “unused variable” warnings.</li>
<li>Correct month management in IS_LL_RTC_MONTH() macro</li>
</ul></li>
<li><strong>LL USART</strong> update
<ul>
<li>Remove useless check on maximum BRR value by removing IS_LL_USART_BRR_MAX() macro.</li>
<li>Handling of UART concurrent register access in case of race condition between Tx and Rx transfers (HAL UART and LL LPUART)</li>
</ul></li>
<li><strong>HAL NAND</strong> update
<ul>
<li>Update implementation of “HAL_NAND_Read_SpareArea_16b” and “HAL_NAND_Write_SpareArea_16b” to fix an issue with the spare area Column address calculation</li>
<li>Update implementation of “HAL_NAND_Write_Page_16b” and “HAL_NAND_Read_Page_16b” APIs implementation to fix an issue with the page calculation of 8 bits memories</li>
</ul></li>
<li><strong>HAL USB_FS</strong> update
<ul>
<li>HAL PCD: add fix transfer complete for IN Interrupt transaction in single buffer mode</li>
<li>Race condition in USB PCD control endpoint receive ISR.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_5" aria-hidden="true"> <label for="collapse-section1_5_5" aria-hidden="true"><strong>V1.5.5 / 10-November-2020</strong></label>
<div>
<h2 id="main-changes-2">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation.</li>
</ul>
<h2 id="contents-2">Contents</h2>
<ul>
<li><strong>HAL</strong> driver update
<ul>
<li>Update hal_def.h to support new ARM compiler Keil V6.</li>
<li>Update HAL TimeBase TIM, RTC alarm and RTC WakeUp templates for more robustness
<ul>
<li>Update HAL_InitTick() API to properly store the priority when using the non-default time base.</li>
</ul></li>
<li>Add new defines for ARM compiler V6:
<ul>
<li>__weak</li>
<li>__packed</li>
<li>__NOINLINE</li>
</ul></li>
<li>Remove compile switch “USE_HAL_LEGACY” on #include “Legacy/stm32_hal_legacy.h”</li>
</ul></li>
<li><strong>HAL/LL ADC</strong> update
<ul>
<li>Update HAL_ADC_IRQHandler() API for case of injected conversion with software trigger and end of conversion or sequence triggered
<ul>
<li>disable interruption and update state machine.</li>
</ul></li>
<li>Update HAL_ADC_Stop_DMA() API to check if DMA state is Busy before calling HAL_DMA_Abort() API to avoid DMA internal error.</li>
<li>Update LL_ADC_REG_Init() API to avoid enabling continuous mode and discontinuous mode simultaneously.</li>
<li>Support missing trigger Timer 2 Capture Compare 2 of regular source for STM32F301, STM32F302 and STM32F318:
<ul>
<li>Add LL_ADC_REG_TRIG_EXT_TIM2_CH2 in LL driver and ADC_EXTERNALTRIGCONV_T2_CC2 in HAL driver</li>
</ul></li>
<li>fix codesonar warning: “Negative Shift Amount”
<ul>
<li>impacted API:
<ul>
<li>LL_ADC_REG_SetSequencerRanks</li>
<li>LL_ADC_REG_GetSequencerRanks</li>
<li>LL_ADC_INJ_SetSequencerRanks</li>
<li>LL_ADC_INJ_GetSequencerRanks</li>
</ul></li>
</ul></li>
<li>Update comment to clarify the “How to use low power mode”</li>
</ul></li>
<li><strong>LL COMP</strong> update
<ul>
<li>Fix wrong Value for:
<ul>
<li>LL_COMP_OUTPUT_TIM3_IC1_COMP2</li>
<li>LL_COMP_OUTPUT_TIM3_IC1_COMP1_2</li>
</ul></li>
</ul></li>
<li><strong>LL OPAMP</strong> update
<ul>
<li>fix wrong description comments for:
<ul>
<li>LL_OPAMP_INPUT_NONINVERT_IO2</li>
<li>LL_OPAMP_INPUT_NONINVERT_IO3</li>
</ul></li>
</ul></li>
<li><strong>HAL RTC</strong> update
<ul>
<li>Daylight Saving Time (DST) feature to subtract or add one hour to the calendar can now be handled outside HAL_RTC_SetTime() thanks to new APIs:
<ul>
<li>HAL_RTC_DST_Add1Hour()</li>
<li>HAL_RTC_DST_Sub1Hour()</li>
<li>HAL_RTC_DST_SetStoreOperation()</li>
<li>HAL_RTC_DST_SetStoreOperation()</li>
<li>HAL_RTC_DST_ClearStoreOperation()</li>
<li>HAL_RTC_DST_ReadStoreOperation()</li>
</ul></li>
<li>DayLightSaving and StoreOperation interfaces from RTC_TimeTypeDef type are now deprecated.</li>
</ul></li>
<li><strong>HAL CEC</strong> update
<ul>
<li>Update HAL_CEC_IRQHandler() API to avoid appending an extra byte to the end of message.</li>
</ul></li>
<li><strong>HAL RTC</strong> update
<ul>
<li>Update to support Daylight Saving Time (DST) feature:
<ul>
<li>Subtract or add one hour to the calendar can now be handled outside HAL_RTC_SetTime() thanks to new APIs.
<ul>
<li>HAL_RTC_DST_Add1Hour() API to add one hour to the calendar</li>
<li>HAL_RTC_DST_Sub1Hour() API to subtract one hour from the calendar</li>
<li>HAL_RTC_DST_SetStoreOperation() API to set the store operation bit</li>
<li>HAL_RTC_DST_ClearStoreOperation() API to clear the store operation bit</li>
<li>HAL_RTC_DST_ReadStoreOperation() API to read the store operation bit</li>
</ul></li>
<li>DayLightSaving and StoreOperation interfaces from RTC_TimeTypeDef type are now deprecated.</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL SPI</strong> update
<ul>
<li>Update Transmit/Receive processes in half-duplex mode</li>
<li>Disable the SPI instance before setting BDIOE bit</li>
<li>Disable TX DMA request only in bidirectional receive mode</li>
<li>Fix wrong timeout management
<ul>
<li>Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled</li>
</ul></li>
<li>Update HAL_SPI_Init() API
<ul>
<li>To avoid setting the BaudRatePrescaler in case of Slave Motorola Mode</li>
<li>Use the bit-mask for SPI configuration</li>
</ul></li>
</ul></li>
<li><strong>LL I2S</strong> update
<ul>
<li>Update LL_I2S_Init() API to correctly calculate sourceclock which used for bitrate calculation.</li>
<li>Update HAL_I2S_DMAStop() API to be more safe
<ul>
<li>Add a check on BSY, TXE and RXNE flags before disabling the I2S</li>
</ul></li>
<li>Update HAL_I2S_DMAStop() API to fix multi-call transfer issue(to avoid re-initializing the I2S for the next transfer).
<ul>
<li>Add __HAL_I2SEXT_FLUSH_RX_DR() and __HAL_I2S_FLUSH_RX_DR() macros to flush the remaining data inside DR registers.</li>
<li>Add new ErrorCode define: HAL_I2S_ERROR_BUSY_LINE_RX</li>
</ul></li>
</ul></li>
<li><strong>HAL NOR</strong> update
<ul>
<li>Update address calculation in HAL_NOR_ProgramBuffer()</li>
<li>Apply adequate commands according to the command set field value
<ul>
<li>command set 1 for Micron JS28F512P33</li>
<li>command set 2 for Micron M29W128G and Cypress S29GL128P</li>
</ul></li>
<li>Add new commands operations:
<ul>
<li>NOR_CMD_READ_ARRAY</li>
<li>NOR_CMD_WORD_PROGRAM</li>
<li>NOR_CMD_BUFFERED_PROGRAM</li>
<li>NOR_CMD_CONFIRM</li>
<li>NOR_CMD_BLOCK_ERASE</li>
<li>NOR_CMD_BLOCK_UNLOCK</li>
<li>NOR_CMD_READ_STATUS_REG</li>
<li>NOR_CMD_CLEAR_STATUS_REG</li>
</ul></li>
<li>Update some APIs in order to be compliant for memories with another command set.
<ul>
<li>HAL_NOR_Init()</li>
<li>HAL_NOR_Read_ID()</li>
<li>HAL_NOR_ReturnToReadMode()</li>
<li>HAL_NOR_Read()</li>
<li>HAL_NOR_Program()</li>
<li>HAL_NOR_ReadBuffer()</li>
<li>HAL_NOR_ProgramBuffer()</li>
<li>HAL_NOR_Erase_Block()</li>
<li>HAL_NOR_Erase_Chip()</li>
<li>HAL_NOR_GetStatus()</li>
</ul></li>
</ul></li>
<li><strong>HAL HRTIM</strong> update
<ul>
<li>Update HAL_HRTIM_DLLCalibrationStart() and HAL_HRTIM_DLLCalibrationStart_IT() to set the handler state back to “READY” before exiting.</li>
</ul></li>
<li><strong>HAL TSC</strong> update
<ul>
<li>Update the HAL_TSC_Init() API to add new check condition on “PulseGeneratorPrescaler” Parameter.</li>
</ul></li>
<li><strong>HAL/LL TIM</strong> update
<ul>
<li>Update Encoder input interface to don’t allow both input polarity configuration
<ul>
<li>Replace IS_TIM_IC_POLARITY() macro by IS_TIM_ENCODERINPUT_POLARITY() macro.</li>
</ul></li>
<li>Update to allow multiple DMA request with different channels in parallel:
<ul>
<li>Implement DMA burst state management mechanism</li>
<li>Implement TIM channel state management mechanism</li>
</ul></li>
<li>Correct inverted values of LL_TIM_COUNTERMODE_CENTER_DOWN and LL_TIM_COUNTERMODE_CENTER_UP</li>
<li>Update LL_TIM_GetCounterMode() API to return right counter mode.</li>
<li>Add LL_TIM_IsActiveUIFCPY inline function to indicate whether update interrupt flag (UIF) copy is set or not.</li>
</ul></li>
<li><strong>HAL/LL SMARTCARD</strong> update
<ul>
<li>Update smartcard transmit processes to be able to handle data retransmission when NACK is received in smartcard T=0</li>
</ul></li>
<li><strong>HAL/LL IRDA</strong> update
<ul>
<li>Fix typos in IRDA State definition description</li>
</ul></li>
<li><strong>HAL/LL UART</strong> update
<ul>
<li>Update to enhance reception to idle services (ReceptionToIdle):
<ul>
<li>Add a new field HAL_UART_RxTypeTypeDef structure to the UART_HandleTypeDef structure to identify the type of ongoing Reception</li>
<li>Add UART Reception Event Callback registration features</li>
<li>Add a set of APIs specific to Reception to Idle transfer in different mode
<ul>
<li>Add HAL_UARTEx_ReceiveToIdle API to receive an amount of data in blocking mode till either the expected number of data is received or an IDLE event occurs.</li>
<li>Add HAL_UARTEx_ReceiveToIdle_IT() API to receive an amount of data in interrupt mode till either the expected number of data is received or an IDLE event occurs.</li>
<li>Add HAL_UARTEx_ReceiveToIdle_DMA() API to receive an amount of data in DMA mode till either the expected number of data is received or an IDLE event occurs.</li>
</ul></li>
<li>Update HAL_UART_Receive(), HAL_UART_Receive_IT() and HAL_UART_Receive_DMA() APIs to support the new enhancement of ReceptionToIdle</li>
</ul></li>
<li>Update HAL_UART_IRQHandler() to handle receiver timeout interruption</li>
<li>Update UART receive processes (IT &amp; DMA) to handle the UART receive timeout interruption</li>
<li>Move the process unlock at the top of the HAL_UART_Receive() and HAL_UART_Transmit() API.</li>
<li>Fix typos in UART State definition description</li>
</ul></li>
<li><strong>HAL/LL USART</strong> update
<ul>
<li>Add RTO (Receiver Time Out) support to USART HAL flags and IT management
<ul>
<li>Add HAL_USART_ERROR_RTO define of Receiver Timeout error to the USART Error Definition section</li>
<li>Add USART_FLAG_RTOF define of Receiver Timeout flag to the USART Flags section</li>
<li>Add USART_CLEAR_RTOF define of Receiver Timeout clear flag to the USART Clear Flags section</li>
<li>Update HAL_USART_IRQHandler to add support to the Receiver Timeout Interruption</li>
</ul></li>
</ul></li>
<li><strong>HAL IWDG</strong> update
<ul>
<li>Update HAL_IWDG_DEFAULT_TIMEOUT define value to consider LSI value instead of hardcoded value.</li>
</ul></li>
<li><strong>LL UTILS</strong> update
<ul>
<li>UTILS_SetFlashLatency() API renamed to LL_SetFlashLatency() and set exportable.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_4" aria-hidden="true"> <label for="collapse-section1_5_4" aria-hidden="true"><strong>V1.5.4 / 23-July-2020</strong></label>
<div>
<h2 id="main-changes-3">Main Changes</h2>
<ul>
<li>General updates to fix known defects and enhancements implementation</li>
</ul>
<h2 id="contents-3">Contents</h2>
<ul>
<li><strong>HAL/LL GPIO</strong> update
<ul>
<li>Update GPIO initialization sequence to avoid unwanted pulse on GPIO Pin’s.</li>
<li>Update HAL_GPIO_TogglePin() API to allow the toggling of many pins.</li>
<li>HAL_GPIO_TogglePin reentrancy robustness improvement by using BSRR register instead of ODR register.</li>
</ul></li>
<li><strong>HAL/LL I2C</strong> update
<ul>
<li>Update HAL_I2C_ER_IRQHandler() API to fix acknowledge failure issue with I2C memory IT processes
<ul>
<li>Add stop condition generation when NACK occurs.</li>
</ul></li>
<li>Update I2C_DMAXferCplt(), I2C_DMAError() and I2C_DMAAbort() APIs to fix hardfault issue when hdmatx and hdmarx parameters in i2c handle aren’t initialized (NULL pointer).
<ul>
<li>Add additional check on hi2c-&gt;hdmtx and hi2c-&gt;hdmarx before resetting DMA Tx/Rx complete callbacks</li>
</ul></li>
<li>Update Sequential transfer APIs to adjust xfermode condition.
<ul>
<li>Replace hi2c-&gt;XferCount &lt; MAX_NBYTE_SIZE by hi2c-&gt;XferCount &lt;= MAX_NBYTE_SIZE which corresponds to a case without reload</li>
</ul></li>
</ul></li>
<li><strong>HAL/LL USB</strong> driver
<ul>
<li>Bug fix: USB_ReadPMA() and USB_WritePMA() by ensuring 16-bits access to USB PMA memory</li>
<li>Bug fix: correct USB RX count calculation</li>
<li>Fix USB Bulk transfer double buffer mode</li>
<li>Remove register keyword from USB defined macros as no more supported by C++ compiler</li>
<li>Minor rework on USBD_Start() and USBD_Stop() APIs: stopping device will be handled by HAL_PCD_DeInit() API.</li>
<li>Remove non used API for USB device mode.</li>
</ul></li>
</ul>
</div>
</div>
<div class="collapse">
<input type="checkbox" id="collapse-section1_5_3" aria-hidden="true"> <label for="collapse-section1_5_3" aria-hidden="true"><strong>V1.5.3 / 12-September-2019</strong></label>
<div>
<h2 id="main-changes-4">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 following 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-5">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 definition of HAL_CAN_LEGACY_MODULE_ENABLED switch 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 flags</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 flags</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-6">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-7">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 guarantee 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 literal 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 management 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 literals 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 addressing 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 addressing 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 transfer</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>Improvement 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 registers 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 guarantee 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-8">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() API 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 compliance 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 flags 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 compliance 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 management 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 compliance 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 series)</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 management 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-9">Main Changes</h2>
<ul>
<li><strong>First official release supporting the Low Level drivers for the STM32F3xx series:</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 compliance 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 compliance 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 compliance 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-10">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 compliance 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 series.</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 inversion 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-11">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 compliance 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() whatever 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-12">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-13">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-14">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-15">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-16">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>
