The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
AnnaBridge
Date:
Wed Feb 20 20:53:29 2019 +0000
Revision:
172:65be27845400
mbed library release version 165

Who changed what in which revision?

UserRevisionLine numberNew contents of line
AnnaBridge 172:65be27845400 1 /**
AnnaBridge 172:65be27845400 2 ******************************************************************************
AnnaBridge 172:65be27845400 3 * @file stm32h7xx_ll_hsem.h
AnnaBridge 172:65be27845400 4 * @author MCD Application Team
AnnaBridge 172:65be27845400 5 * @brief Header file of HSEM LL module.
AnnaBridge 172:65be27845400 6 ******************************************************************************
AnnaBridge 172:65be27845400 7 * @attention
AnnaBridge 172:65be27845400 8 *
AnnaBridge 172:65be27845400 9 * <h2><center>&copy; Copyright (c) 2017 STMicroelectronics.
AnnaBridge 172:65be27845400 10 * All rights reserved.</center></h2>
AnnaBridge 172:65be27845400 11 *
AnnaBridge 172:65be27845400 12 * This software component is licensed by ST under BSD 3-Clause license,
AnnaBridge 172:65be27845400 13 * the "License"; You may not use this file except in compliance with the
AnnaBridge 172:65be27845400 14 * License. You may obtain a copy of the License at:
AnnaBridge 172:65be27845400 15 * opensource.org/licenses/BSD-3-Clause
AnnaBridge 172:65be27845400 16 *
AnnaBridge 172:65be27845400 17 ******************************************************************************
AnnaBridge 172:65be27845400 18 */
AnnaBridge 172:65be27845400 19
AnnaBridge 172:65be27845400 20 /* Define to prevent recursive inclusion -------------------------------------*/
AnnaBridge 172:65be27845400 21 #ifndef STM32H7xx_LL_HSEM_H
AnnaBridge 172:65be27845400 22 #define STM32H7xx_LL_HSEM_H
AnnaBridge 172:65be27845400 23
AnnaBridge 172:65be27845400 24 #ifdef __cplusplus
AnnaBridge 172:65be27845400 25 extern "C" {
AnnaBridge 172:65be27845400 26 #endif
AnnaBridge 172:65be27845400 27
AnnaBridge 172:65be27845400 28 /* Includes ------------------------------------------------------------------*/
AnnaBridge 172:65be27845400 29 #include "stm32h7xx.h"
AnnaBridge 172:65be27845400 30
AnnaBridge 172:65be27845400 31 /** @addtogroup STM32H7xx_LL_Driver
AnnaBridge 172:65be27845400 32 * @{
AnnaBridge 172:65be27845400 33 */
AnnaBridge 172:65be27845400 34
AnnaBridge 172:65be27845400 35 #if defined(HSEM)
AnnaBridge 172:65be27845400 36
AnnaBridge 172:65be27845400 37 /** @defgroup HSEM_LL HSEM
AnnaBridge 172:65be27845400 38 * @{
AnnaBridge 172:65be27845400 39 */
AnnaBridge 172:65be27845400 40
AnnaBridge 172:65be27845400 41 /* Private types -------------------------------------------------------------*/
AnnaBridge 172:65be27845400 42 /* Private variables ---------------------------------------------------------*/
AnnaBridge 172:65be27845400 43 /* Private constants ---------------------------------------------------------*/
AnnaBridge 172:65be27845400 44 /* Private macros ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 45
AnnaBridge 172:65be27845400 46 /* Exported types ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 47 /* Exported constants --------------------------------------------------------*/
AnnaBridge 172:65be27845400 48
AnnaBridge 172:65be27845400 49 /** @defgroup HSEM_LL_Exported_Constants HSEM Exported Constants
AnnaBridge 172:65be27845400 50 * @{
AnnaBridge 172:65be27845400 51 */
AnnaBridge 172:65be27845400 52
AnnaBridge 172:65be27845400 53 /** @defgroup HSEM_LL_EC_COREID COREID Defines
AnnaBridge 172:65be27845400 54 * @{
AnnaBridge 172:65be27845400 55 */
AnnaBridge 172:65be27845400 56 #define LL_HSEM_COREID_NONE 0U
AnnaBridge 172:65be27845400 57 #define LL_HSEM_COREID_CPU1 HSEM_CR_COREID_CPU1
AnnaBridge 172:65be27845400 58 #define LL_HSEM_COREID HSEM_CR_COREID_CURRENT
AnnaBridge 172:65be27845400 59 /**
AnnaBridge 172:65be27845400 60 * @}
AnnaBridge 172:65be27845400 61 */
AnnaBridge 172:65be27845400 62
AnnaBridge 172:65be27845400 63 /** @defgroup HSEM_LL_EC_GET_FLAG Get Flags Defines
AnnaBridge 172:65be27845400 64 * @brief Flags defines which can be used with LL_HSEM_ReadReg function
AnnaBridge 172:65be27845400 65 * @{
AnnaBridge 172:65be27845400 66 */
AnnaBridge 172:65be27845400 67
AnnaBridge 172:65be27845400 68 #define LL_HSEM_SEMAPHORE_0 HSEM_C1IER_ISE0
AnnaBridge 172:65be27845400 69 #define LL_HSEM_SEMAPHORE_1 HSEM_C1IER_ISE1
AnnaBridge 172:65be27845400 70 #define LL_HSEM_SEMAPHORE_2 HSEM_C1IER_ISE2
AnnaBridge 172:65be27845400 71 #define LL_HSEM_SEMAPHORE_3 HSEM_C1IER_ISE3
AnnaBridge 172:65be27845400 72 #define LL_HSEM_SEMAPHORE_4 HSEM_C1IER_ISE4
AnnaBridge 172:65be27845400 73 #define LL_HSEM_SEMAPHORE_5 HSEM_C1IER_ISE5
AnnaBridge 172:65be27845400 74 #define LL_HSEM_SEMAPHORE_6 HSEM_C1IER_ISE6
AnnaBridge 172:65be27845400 75 #define LL_HSEM_SEMAPHORE_7 HSEM_C1IER_ISE7
AnnaBridge 172:65be27845400 76 #define LL_HSEM_SEMAPHORE_8 HSEM_C1IER_ISE8
AnnaBridge 172:65be27845400 77 #define LL_HSEM_SEMAPHORE_9 HSEM_C1IER_ISE9
AnnaBridge 172:65be27845400 78 #define LL_HSEM_SEMAPHORE_10 HSEM_C1IER_ISE10
AnnaBridge 172:65be27845400 79 #define LL_HSEM_SEMAPHORE_11 HSEM_C1IER_ISE11
AnnaBridge 172:65be27845400 80 #define LL_HSEM_SEMAPHORE_12 HSEM_C1IER_ISE12
AnnaBridge 172:65be27845400 81 #define LL_HSEM_SEMAPHORE_13 HSEM_C1IER_ISE13
AnnaBridge 172:65be27845400 82 #define LL_HSEM_SEMAPHORE_14 HSEM_C1IER_ISE14
AnnaBridge 172:65be27845400 83 #define LL_HSEM_SEMAPHORE_15 HSEM_C1IER_ISE15
AnnaBridge 172:65be27845400 84 #define LL_HSEM_SEMAPHORE_16 HSEM_C1IER_ISE16
AnnaBridge 172:65be27845400 85 #define LL_HSEM_SEMAPHORE_17 HSEM_C1IER_ISE17
AnnaBridge 172:65be27845400 86 #define LL_HSEM_SEMAPHORE_18 HSEM_C1IER_ISE18
AnnaBridge 172:65be27845400 87 #define LL_HSEM_SEMAPHORE_19 HSEM_C1IER_ISE19
AnnaBridge 172:65be27845400 88 #define LL_HSEM_SEMAPHORE_20 HSEM_C1IER_ISE20
AnnaBridge 172:65be27845400 89 #define LL_HSEM_SEMAPHORE_21 HSEM_C1IER_ISE21
AnnaBridge 172:65be27845400 90 #define LL_HSEM_SEMAPHORE_22 HSEM_C1IER_ISE22
AnnaBridge 172:65be27845400 91 #define LL_HSEM_SEMAPHORE_23 HSEM_C1IER_ISE23
AnnaBridge 172:65be27845400 92 #define LL_HSEM_SEMAPHORE_24 HSEM_C1IER_ISE24
AnnaBridge 172:65be27845400 93 #define LL_HSEM_SEMAPHORE_25 HSEM_C1IER_ISE25
AnnaBridge 172:65be27845400 94 #define LL_HSEM_SEMAPHORE_26 HSEM_C1IER_ISE26
AnnaBridge 172:65be27845400 95 #define LL_HSEM_SEMAPHORE_27 HSEM_C1IER_ISE27
AnnaBridge 172:65be27845400 96 #define LL_HSEM_SEMAPHORE_28 HSEM_C1IER_ISE28
AnnaBridge 172:65be27845400 97 #define LL_HSEM_SEMAPHORE_29 HSEM_C1IER_ISE29
AnnaBridge 172:65be27845400 98 #define LL_HSEM_SEMAPHORE_30 HSEM_C1IER_ISE30
AnnaBridge 172:65be27845400 99 #define LL_HSEM_SEMAPHORE_31 HSEM_C1IER_ISE31
AnnaBridge 172:65be27845400 100 #define LL_HSEM_SEMAPHORE_ALL 0xFFFFFFFFU
AnnaBridge 172:65be27845400 101 /**
AnnaBridge 172:65be27845400 102 * @}
AnnaBridge 172:65be27845400 103 */
AnnaBridge 172:65be27845400 104
AnnaBridge 172:65be27845400 105 /**
AnnaBridge 172:65be27845400 106 * @}
AnnaBridge 172:65be27845400 107 */
AnnaBridge 172:65be27845400 108
AnnaBridge 172:65be27845400 109 /* Exported macro ------------------------------------------------------------*/
AnnaBridge 172:65be27845400 110 /** @defgroup HSEM_LL_Exported_Macros HSEM Exported Macros
AnnaBridge 172:65be27845400 111 * @{
AnnaBridge 172:65be27845400 112 */
AnnaBridge 172:65be27845400 113
AnnaBridge 172:65be27845400 114 /** @defgroup HSEM_LL_EM_WRITE_READ Common Write and read registers Macros
AnnaBridge 172:65be27845400 115 * @{
AnnaBridge 172:65be27845400 116 */
AnnaBridge 172:65be27845400 117
AnnaBridge 172:65be27845400 118 /**
AnnaBridge 172:65be27845400 119 * @brief Write a value in HSEM register
AnnaBridge 172:65be27845400 120 * @param __INSTANCE__ HSEM Instance
AnnaBridge 172:65be27845400 121 * @param __REG__ Register to be written
AnnaBridge 172:65be27845400 122 * @param __VALUE__ Value to be written in the register
AnnaBridge 172:65be27845400 123 * @retval None
AnnaBridge 172:65be27845400 124 */
AnnaBridge 172:65be27845400 125 #define LL_HSEM_WriteReg(__INSTANCE__, __REG__, __VALUE__) WRITE_REG(__INSTANCE__->__REG__, (__VALUE__))
AnnaBridge 172:65be27845400 126
AnnaBridge 172:65be27845400 127 /**
AnnaBridge 172:65be27845400 128 * @brief Read a value in HSEM register
AnnaBridge 172:65be27845400 129 * @param __INSTANCE__ HSEM Instance
AnnaBridge 172:65be27845400 130 * @param __REG__ Register to be read
AnnaBridge 172:65be27845400 131 * @retval Register value
AnnaBridge 172:65be27845400 132 */
AnnaBridge 172:65be27845400 133 #define LL_HSEM_ReadReg(__INSTANCE__, __REG__) READ_REG(__INSTANCE__->__REG__)
AnnaBridge 172:65be27845400 134 /**
AnnaBridge 172:65be27845400 135 * @}
AnnaBridge 172:65be27845400 136 */
AnnaBridge 172:65be27845400 137
AnnaBridge 172:65be27845400 138 /**
AnnaBridge 172:65be27845400 139 * @}
AnnaBridge 172:65be27845400 140 */
AnnaBridge 172:65be27845400 141
AnnaBridge 172:65be27845400 142 /* Exported functions --------------------------------------------------------*/
AnnaBridge 172:65be27845400 143 /** @defgroup HSEM_LL_Exported_Functions HSEM Exported Functions
AnnaBridge 172:65be27845400 144 * @{
AnnaBridge 172:65be27845400 145 */
AnnaBridge 172:65be27845400 146
AnnaBridge 172:65be27845400 147 /** @defgroup HSEM_LL_EF_Data_Management Data_Management
AnnaBridge 172:65be27845400 148 * @{
AnnaBridge 172:65be27845400 149 */
AnnaBridge 172:65be27845400 150
AnnaBridge 172:65be27845400 151
AnnaBridge 172:65be27845400 152 /**
AnnaBridge 172:65be27845400 153 * @brief Return 1 if the semaphore is locked, else return 0.
AnnaBridge 172:65be27845400 154 * @rmtoll R LOCK LL_HSEM_IsSemaphoreLocked
AnnaBridge 172:65be27845400 155 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 156 * @param Semaphore Semaphore number. Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 157 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 158 */
AnnaBridge 172:65be27845400 159 __STATIC_INLINE uint32_t LL_HSEM_IsSemaphoreLocked(HSEM_TypeDef *HSEMx, uint32_t Semaphore)
AnnaBridge 172:65be27845400 160 {
AnnaBridge 172:65be27845400 161 return ((READ_BIT(HSEMx->R[Semaphore], HSEM_R_LOCK) == (HSEM_R_LOCK_Msk)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 162 }
AnnaBridge 172:65be27845400 163
AnnaBridge 172:65be27845400 164 /**
AnnaBridge 172:65be27845400 165 * @brief Get core id.
AnnaBridge 172:65be27845400 166 * @rmtoll R COREID LL_HSEM_GetCoreId
AnnaBridge 172:65be27845400 167 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 168 * @param Semaphore Semaphore number. Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 169 * @retval Returned value can be one of the following values:
AnnaBridge 172:65be27845400 170 * @arg @ref LL_HSEM_COREID_NONE
AnnaBridge 172:65be27845400 171 * @arg @ref LL_HSEM_COREID_CPU1
AnnaBridge 172:65be27845400 172 */
AnnaBridge 172:65be27845400 173 __STATIC_INLINE uint32_t LL_HSEM_GetCoreId(HSEM_TypeDef *HSEMx, uint32_t Semaphore)
AnnaBridge 172:65be27845400 174 {
AnnaBridge 172:65be27845400 175 return (uint32_t)(READ_BIT(HSEMx->R[Semaphore], HSEM_R_COREID_Msk));
AnnaBridge 172:65be27845400 176 }
AnnaBridge 172:65be27845400 177
AnnaBridge 172:65be27845400 178 /**
AnnaBridge 172:65be27845400 179 * @brief Get process id.
AnnaBridge 172:65be27845400 180 * @rmtoll R PROCID LL_HSEM_GetProcessId
AnnaBridge 172:65be27845400 181 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 182 * @param Semaphore Semaphore number. Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 183 * @retval Process number. Value between Min_Data=0 and Max_Data=255
AnnaBridge 172:65be27845400 184 */
AnnaBridge 172:65be27845400 185 __STATIC_INLINE uint32_t LL_HSEM_GetProcessId(HSEM_TypeDef *HSEMx, uint32_t Semaphore)
AnnaBridge 172:65be27845400 186 {
AnnaBridge 172:65be27845400 187 return (uint32_t)(READ_BIT(HSEMx->R[Semaphore], HSEM_R_PROCID_Msk));
AnnaBridge 172:65be27845400 188 }
AnnaBridge 172:65be27845400 189
AnnaBridge 172:65be27845400 190 /**
AnnaBridge 172:65be27845400 191 * @brief Get the lock by writing in R register.
AnnaBridge 172:65be27845400 192 * @note The R register has to be read to determined if the lock is taken.
AnnaBridge 172:65be27845400 193 * @rmtoll R LOCK LL_HSEM_SetLock
AnnaBridge 172:65be27845400 194 * @rmtoll R COREID LL_HSEM_SetLock
AnnaBridge 172:65be27845400 195 * @rmtoll R PROCID LL_HSEM_SetLock
AnnaBridge 172:65be27845400 196 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 197 * @param Semaphore Semaphore number. Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 198 * @param process Process id. Value between Min_Data=0 and Max_Data=255
AnnaBridge 172:65be27845400 199 * @retval None
AnnaBridge 172:65be27845400 200 */
AnnaBridge 172:65be27845400 201 __STATIC_INLINE void LL_HSEM_SetLock(HSEM_TypeDef *HSEMx, uint32_t Semaphore, uint32_t process)
AnnaBridge 172:65be27845400 202 {
AnnaBridge 172:65be27845400 203 WRITE_REG(HSEMx->R[Semaphore], (HSEM_R_LOCK | LL_HSEM_COREID | process));
AnnaBridge 172:65be27845400 204 }
AnnaBridge 172:65be27845400 205
AnnaBridge 172:65be27845400 206 /**
AnnaBridge 172:65be27845400 207 * @brief Get the lock with 2-step lock.
AnnaBridge 172:65be27845400 208 * @rmtoll R LOCK LL_HSEM_2StepLock
AnnaBridge 172:65be27845400 209 * @rmtoll R COREID LL_HSEM_2StepLock
AnnaBridge 172:65be27845400 210 * @rmtoll R PROCID LL_HSEM_2StepLock
AnnaBridge 172:65be27845400 211 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 212 * @param Semaphore Semaphore number. Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 213 * @param process Process id. Value between Min_Data=0 and Max_Data=255
AnnaBridge 172:65be27845400 214 * @retval 1 lock fail, 0 lock successful or already locked by same process and core
AnnaBridge 172:65be27845400 215 */
AnnaBridge 172:65be27845400 216 __STATIC_INLINE uint32_t LL_HSEM_2StepLock(HSEM_TypeDef *HSEMx, uint32_t Semaphore, uint32_t process)
AnnaBridge 172:65be27845400 217 {
AnnaBridge 172:65be27845400 218 WRITE_REG(HSEMx->R[Semaphore], (HSEM_R_LOCK | LL_HSEM_COREID | process));
AnnaBridge 172:65be27845400 219 return ((HSEMx->R[Semaphore] != (HSEM_R_LOCK | LL_HSEM_COREID | process)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 220 }
AnnaBridge 172:65be27845400 221
AnnaBridge 172:65be27845400 222 /**
AnnaBridge 172:65be27845400 223 * @brief Get the lock with 1-step lock.
AnnaBridge 172:65be27845400 224 * @rmtoll RLR LOCK LL_HSEM_1StepLock
AnnaBridge 172:65be27845400 225 * @rmtoll RLR COREID LL_HSEM_1StepLock
AnnaBridge 172:65be27845400 226 * @rmtoll RLR PROCID LL_HSEM_1StepLock
AnnaBridge 172:65be27845400 227 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 228 * @param Semaphore Semaphore number. Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 229 * @retval 1 lock fail, 0 lock successful or already locked by same core
AnnaBridge 172:65be27845400 230 */
AnnaBridge 172:65be27845400 231 __STATIC_INLINE uint32_t LL_HSEM_1StepLock(HSEM_TypeDef *HSEMx, uint32_t Semaphore)
AnnaBridge 172:65be27845400 232 {
AnnaBridge 172:65be27845400 233 return ((HSEMx->RLR[Semaphore] != (HSEM_R_LOCK | LL_HSEM_COREID)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 234 }
AnnaBridge 172:65be27845400 235
AnnaBridge 172:65be27845400 236 /**
AnnaBridge 172:65be27845400 237 * @brief Release the lock of the semaphore.
AnnaBridge 172:65be27845400 238 * @note In case of LL_HSEM_1StepLock usage to lock a semaphore, the process is 0.
AnnaBridge 172:65be27845400 239 * @rmtoll R LOCK LL_HSEM_ReleaseLock
AnnaBridge 172:65be27845400 240 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 241 * @param Semaphore Semaphore number. Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 242 * @param process Process number. Value between Min_Data=0 and Max_Data=255
AnnaBridge 172:65be27845400 243 * @retval None
AnnaBridge 172:65be27845400 244 */
AnnaBridge 172:65be27845400 245 __STATIC_INLINE void LL_HSEM_ReleaseLock(HSEM_TypeDef *HSEMx, uint32_t Semaphore, uint32_t process)
AnnaBridge 172:65be27845400 246 {
AnnaBridge 172:65be27845400 247 WRITE_REG(HSEMx->R[Semaphore], (LL_HSEM_COREID | process));
AnnaBridge 172:65be27845400 248 }
AnnaBridge 172:65be27845400 249
AnnaBridge 172:65be27845400 250 /**
AnnaBridge 172:65be27845400 251 * @brief Get the lock status of the semaphore.
AnnaBridge 172:65be27845400 252 * @rmtoll R LOCK LL_HSEM_GetStatus
AnnaBridge 172:65be27845400 253 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 254 * @param Semaphore Semaphore number. Value between Min_Data=0 and Max_Data=31
AnnaBridge 172:65be27845400 255 * @retval 0 semaphore is free, 1 semaphore is locked */
AnnaBridge 172:65be27845400 256 __STATIC_INLINE uint32_t LL_HSEM_GetStatus(HSEM_TypeDef *HSEMx, uint32_t Semaphore)
AnnaBridge 172:65be27845400 257 {
AnnaBridge 172:65be27845400 258 return ((HSEMx->R[Semaphore] != 0U) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 259 }
AnnaBridge 172:65be27845400 260
AnnaBridge 172:65be27845400 261 /**
AnnaBridge 172:65be27845400 262 * @brief Set the key.
AnnaBridge 172:65be27845400 263 * @rmtoll KEYR KEY LL_HSEM_SetKey
AnnaBridge 172:65be27845400 264 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 265 * @param key Key value.
AnnaBridge 172:65be27845400 266 * @retval None
AnnaBridge 172:65be27845400 267 */
AnnaBridge 172:65be27845400 268 __STATIC_INLINE void LL_HSEM_SetKey(HSEM_TypeDef *HSEMx, uint32_t key)
AnnaBridge 172:65be27845400 269 {
AnnaBridge 172:65be27845400 270 WRITE_REG(HSEMx->KEYR, key << HSEM_KEYR_KEY_Pos);
AnnaBridge 172:65be27845400 271 }
AnnaBridge 172:65be27845400 272
AnnaBridge 172:65be27845400 273 /**
AnnaBridge 172:65be27845400 274 * @brief Get the key.
AnnaBridge 172:65be27845400 275 * @rmtoll KEYR KEY LL_HSEM_GetKey
AnnaBridge 172:65be27845400 276 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 277 * @retval key to unlock all semaphore from the same core
AnnaBridge 172:65be27845400 278 */
AnnaBridge 172:65be27845400 279 __STATIC_INLINE uint32_t LL_HSEM_GetKey(HSEM_TypeDef *HSEMx)
AnnaBridge 172:65be27845400 280 {
AnnaBridge 172:65be27845400 281 return (uint32_t)(READ_BIT(HSEMx->KEYR, HSEM_KEYR_KEY) >> HSEM_KEYR_KEY_Pos);
AnnaBridge 172:65be27845400 282 }
AnnaBridge 172:65be27845400 283
AnnaBridge 172:65be27845400 284 /**
AnnaBridge 172:65be27845400 285 * @brief Release all semaphore with the same core id.
AnnaBridge 172:65be27845400 286 * @rmtoll CR KEY LL_HSEM_ResetAllLock
AnnaBridge 172:65be27845400 287 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 288 * @param key Key value.
AnnaBridge 172:65be27845400 289 * @param core This parameter can be one of the following values:
AnnaBridge 172:65be27845400 290 * @arg @ref LL_HSEM_COREID_CPU1
AnnaBridge 172:65be27845400 291 * @retval None
AnnaBridge 172:65be27845400 292 */
AnnaBridge 172:65be27845400 293 __STATIC_INLINE void LL_HSEM_ResetAllLock(HSEM_TypeDef *HSEMx, uint32_t key, uint32_t core)
AnnaBridge 172:65be27845400 294 {
AnnaBridge 172:65be27845400 295 WRITE_REG(HSEMx->CR, (key << HSEM_CR_KEY_Pos) | core);
AnnaBridge 172:65be27845400 296 }
AnnaBridge 172:65be27845400 297
AnnaBridge 172:65be27845400 298 /**
AnnaBridge 172:65be27845400 299 * @}
AnnaBridge 172:65be27845400 300 */
AnnaBridge 172:65be27845400 301
AnnaBridge 172:65be27845400 302 /** @defgroup HSEM_LL_EF_IT_Management IT_Management
AnnaBridge 172:65be27845400 303 * @{
AnnaBridge 172:65be27845400 304 */
AnnaBridge 172:65be27845400 305
AnnaBridge 172:65be27845400 306 /**
AnnaBridge 172:65be27845400 307 * @brief Enable interrupt.
AnnaBridge 172:65be27845400 308 * @rmtoll C1IER ISEM LL_HSEM_EnableIT_C1IER
AnnaBridge 172:65be27845400 309 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 310 * @param SemaphoreMask This parameter can be a combination of the following values:
AnnaBridge 172:65be27845400 311 * @arg @ref LL_HSEM_SEMAPHORE_0
AnnaBridge 172:65be27845400 312 * @arg @ref LL_HSEM_SEMAPHORE_1
AnnaBridge 172:65be27845400 313 * @arg @ref LL_HSEM_SEMAPHORE_2
AnnaBridge 172:65be27845400 314 * @arg @ref LL_HSEM_SEMAPHORE_3
AnnaBridge 172:65be27845400 315 * @arg @ref LL_HSEM_SEMAPHORE_4
AnnaBridge 172:65be27845400 316 * @arg @ref LL_HSEM_SEMAPHORE_5
AnnaBridge 172:65be27845400 317 * @arg @ref LL_HSEM_SEMAPHORE_6
AnnaBridge 172:65be27845400 318 * @arg @ref LL_HSEM_SEMAPHORE_7
AnnaBridge 172:65be27845400 319 * @arg @ref LL_HSEM_SEMAPHORE_8
AnnaBridge 172:65be27845400 320 * @arg @ref LL_HSEM_SEMAPHORE_9
AnnaBridge 172:65be27845400 321 * @arg @ref LL_HSEM_SEMAPHORE_10
AnnaBridge 172:65be27845400 322 * @arg @ref LL_HSEM_SEMAPHORE_11
AnnaBridge 172:65be27845400 323 * @arg @ref LL_HSEM_SEMAPHORE_12
AnnaBridge 172:65be27845400 324 * @arg @ref LL_HSEM_SEMAPHORE_13
AnnaBridge 172:65be27845400 325 * @arg @ref LL_HSEM_SEMAPHORE_14
AnnaBridge 172:65be27845400 326 * @arg @ref LL_HSEM_SEMAPHORE_15
AnnaBridge 172:65be27845400 327 * @arg @ref LL_HSEM_SEMAPHORE_16
AnnaBridge 172:65be27845400 328 * @arg @ref LL_HSEM_SEMAPHORE_17
AnnaBridge 172:65be27845400 329 * @arg @ref LL_HSEM_SEMAPHORE_18
AnnaBridge 172:65be27845400 330 * @arg @ref LL_HSEM_SEMAPHORE_19
AnnaBridge 172:65be27845400 331 * @arg @ref LL_HSEM_SEMAPHORE_20
AnnaBridge 172:65be27845400 332 * @arg @ref LL_HSEM_SEMAPHORE_21
AnnaBridge 172:65be27845400 333 * @arg @ref LL_HSEM_SEMAPHORE_22
AnnaBridge 172:65be27845400 334 * @arg @ref LL_HSEM_SEMAPHORE_23
AnnaBridge 172:65be27845400 335 * @arg @ref LL_HSEM_SEMAPHORE_24
AnnaBridge 172:65be27845400 336 * @arg @ref LL_HSEM_SEMAPHORE_25
AnnaBridge 172:65be27845400 337 * @arg @ref LL_HSEM_SEMAPHORE_26
AnnaBridge 172:65be27845400 338 * @arg @ref LL_HSEM_SEMAPHORE_27
AnnaBridge 172:65be27845400 339 * @arg @ref LL_HSEM_SEMAPHORE_28
AnnaBridge 172:65be27845400 340 * @arg @ref LL_HSEM_SEMAPHORE_29
AnnaBridge 172:65be27845400 341 * @arg @ref LL_HSEM_SEMAPHORE_30
AnnaBridge 172:65be27845400 342 * @arg @ref LL_HSEM_SEMAPHORE_31
AnnaBridge 172:65be27845400 343 * @arg @ref LL_HSEM_SEMAPHORE_ALL
AnnaBridge 172:65be27845400 344 * @retval None
AnnaBridge 172:65be27845400 345 */
AnnaBridge 172:65be27845400 346 __STATIC_INLINE void LL_HSEM_EnableIT_C1IER(HSEM_TypeDef *HSEMx, uint32_t SemaphoreMask)
AnnaBridge 172:65be27845400 347 {
AnnaBridge 172:65be27845400 348 SET_BIT(HSEMx->C1IER, SemaphoreMask);
AnnaBridge 172:65be27845400 349 }
AnnaBridge 172:65be27845400 350
AnnaBridge 172:65be27845400 351 /**
AnnaBridge 172:65be27845400 352 * @brief Disable interrupt.
AnnaBridge 172:65be27845400 353 * @rmtoll C1IER ISEM LL_HSEM_DisableIT_C1IER
AnnaBridge 172:65be27845400 354 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 355 * @param SemaphoreMask This parameter can be a combination of the following values:
AnnaBridge 172:65be27845400 356 * @arg @ref LL_HSEM_SEMAPHORE_0
AnnaBridge 172:65be27845400 357 * @arg @ref LL_HSEM_SEMAPHORE_1
AnnaBridge 172:65be27845400 358 * @arg @ref LL_HSEM_SEMAPHORE_2
AnnaBridge 172:65be27845400 359 * @arg @ref LL_HSEM_SEMAPHORE_3
AnnaBridge 172:65be27845400 360 * @arg @ref LL_HSEM_SEMAPHORE_4
AnnaBridge 172:65be27845400 361 * @arg @ref LL_HSEM_SEMAPHORE_5
AnnaBridge 172:65be27845400 362 * @arg @ref LL_HSEM_SEMAPHORE_6
AnnaBridge 172:65be27845400 363 * @arg @ref LL_HSEM_SEMAPHORE_7
AnnaBridge 172:65be27845400 364 * @arg @ref LL_HSEM_SEMAPHORE_8
AnnaBridge 172:65be27845400 365 * @arg @ref LL_HSEM_SEMAPHORE_9
AnnaBridge 172:65be27845400 366 * @arg @ref LL_HSEM_SEMAPHORE_10
AnnaBridge 172:65be27845400 367 * @arg @ref LL_HSEM_SEMAPHORE_11
AnnaBridge 172:65be27845400 368 * @arg @ref LL_HSEM_SEMAPHORE_12
AnnaBridge 172:65be27845400 369 * @arg @ref LL_HSEM_SEMAPHORE_13
AnnaBridge 172:65be27845400 370 * @arg @ref LL_HSEM_SEMAPHORE_14
AnnaBridge 172:65be27845400 371 * @arg @ref LL_HSEM_SEMAPHORE_15
AnnaBridge 172:65be27845400 372 * @arg @ref LL_HSEM_SEMAPHORE_16
AnnaBridge 172:65be27845400 373 * @arg @ref LL_HSEM_SEMAPHORE_17
AnnaBridge 172:65be27845400 374 * @arg @ref LL_HSEM_SEMAPHORE_18
AnnaBridge 172:65be27845400 375 * @arg @ref LL_HSEM_SEMAPHORE_19
AnnaBridge 172:65be27845400 376 * @arg @ref LL_HSEM_SEMAPHORE_20
AnnaBridge 172:65be27845400 377 * @arg @ref LL_HSEM_SEMAPHORE_21
AnnaBridge 172:65be27845400 378 * @arg @ref LL_HSEM_SEMAPHORE_22
AnnaBridge 172:65be27845400 379 * @arg @ref LL_HSEM_SEMAPHORE_23
AnnaBridge 172:65be27845400 380 * @arg @ref LL_HSEM_SEMAPHORE_24
AnnaBridge 172:65be27845400 381 * @arg @ref LL_HSEM_SEMAPHORE_25
AnnaBridge 172:65be27845400 382 * @arg @ref LL_HSEM_SEMAPHORE_26
AnnaBridge 172:65be27845400 383 * @arg @ref LL_HSEM_SEMAPHORE_27
AnnaBridge 172:65be27845400 384 * @arg @ref LL_HSEM_SEMAPHORE_28
AnnaBridge 172:65be27845400 385 * @arg @ref LL_HSEM_SEMAPHORE_29
AnnaBridge 172:65be27845400 386 * @arg @ref LL_HSEM_SEMAPHORE_30
AnnaBridge 172:65be27845400 387 * @arg @ref LL_HSEM_SEMAPHORE_31
AnnaBridge 172:65be27845400 388 * @arg @ref LL_HSEM_SEMAPHORE_ALL
AnnaBridge 172:65be27845400 389 * @retval None
AnnaBridge 172:65be27845400 390 */
AnnaBridge 172:65be27845400 391 __STATIC_INLINE void LL_HSEM_DisableIT_C1IER(HSEM_TypeDef *HSEMx, uint32_t SemaphoreMask)
AnnaBridge 172:65be27845400 392 {
AnnaBridge 172:65be27845400 393 CLEAR_BIT(HSEMx->C1IER, SemaphoreMask);
AnnaBridge 172:65be27845400 394 }
AnnaBridge 172:65be27845400 395
AnnaBridge 172:65be27845400 396 /**
AnnaBridge 172:65be27845400 397 * @brief Check if interrupt is enabled.
AnnaBridge 172:65be27845400 398 * @rmtoll C1IER ISEM LL_HSEM_IsEnabledIT_C1IER
AnnaBridge 172:65be27845400 399 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 400 * @param SemaphoreMask This parameter can be a combination of the following values:
AnnaBridge 172:65be27845400 401 * @arg @ref LL_HSEM_SEMAPHORE_0
AnnaBridge 172:65be27845400 402 * @arg @ref LL_HSEM_SEMAPHORE_1
AnnaBridge 172:65be27845400 403 * @arg @ref LL_HSEM_SEMAPHORE_2
AnnaBridge 172:65be27845400 404 * @arg @ref LL_HSEM_SEMAPHORE_3
AnnaBridge 172:65be27845400 405 * @arg @ref LL_HSEM_SEMAPHORE_4
AnnaBridge 172:65be27845400 406 * @arg @ref LL_HSEM_SEMAPHORE_5
AnnaBridge 172:65be27845400 407 * @arg @ref LL_HSEM_SEMAPHORE_6
AnnaBridge 172:65be27845400 408 * @arg @ref LL_HSEM_SEMAPHORE_7
AnnaBridge 172:65be27845400 409 * @arg @ref LL_HSEM_SEMAPHORE_8
AnnaBridge 172:65be27845400 410 * @arg @ref LL_HSEM_SEMAPHORE_9
AnnaBridge 172:65be27845400 411 * @arg @ref LL_HSEM_SEMAPHORE_10
AnnaBridge 172:65be27845400 412 * @arg @ref LL_HSEM_SEMAPHORE_11
AnnaBridge 172:65be27845400 413 * @arg @ref LL_HSEM_SEMAPHORE_12
AnnaBridge 172:65be27845400 414 * @arg @ref LL_HSEM_SEMAPHORE_13
AnnaBridge 172:65be27845400 415 * @arg @ref LL_HSEM_SEMAPHORE_14
AnnaBridge 172:65be27845400 416 * @arg @ref LL_HSEM_SEMAPHORE_15
AnnaBridge 172:65be27845400 417 * @arg @ref LL_HSEM_SEMAPHORE_16
AnnaBridge 172:65be27845400 418 * @arg @ref LL_HSEM_SEMAPHORE_17
AnnaBridge 172:65be27845400 419 * @arg @ref LL_HSEM_SEMAPHORE_18
AnnaBridge 172:65be27845400 420 * @arg @ref LL_HSEM_SEMAPHORE_19
AnnaBridge 172:65be27845400 421 * @arg @ref LL_HSEM_SEMAPHORE_20
AnnaBridge 172:65be27845400 422 * @arg @ref LL_HSEM_SEMAPHORE_21
AnnaBridge 172:65be27845400 423 * @arg @ref LL_HSEM_SEMAPHORE_22
AnnaBridge 172:65be27845400 424 * @arg @ref LL_HSEM_SEMAPHORE_23
AnnaBridge 172:65be27845400 425 * @arg @ref LL_HSEM_SEMAPHORE_24
AnnaBridge 172:65be27845400 426 * @arg @ref LL_HSEM_SEMAPHORE_25
AnnaBridge 172:65be27845400 427 * @arg @ref LL_HSEM_SEMAPHORE_26
AnnaBridge 172:65be27845400 428 * @arg @ref LL_HSEM_SEMAPHORE_27
AnnaBridge 172:65be27845400 429 * @arg @ref LL_HSEM_SEMAPHORE_28
AnnaBridge 172:65be27845400 430 * @arg @ref LL_HSEM_SEMAPHORE_29
AnnaBridge 172:65be27845400 431 * @arg @ref LL_HSEM_SEMAPHORE_30
AnnaBridge 172:65be27845400 432 * @arg @ref LL_HSEM_SEMAPHORE_31
AnnaBridge 172:65be27845400 433 * @arg @ref LL_HSEM_SEMAPHORE_ALL
AnnaBridge 172:65be27845400 434 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 435 */
AnnaBridge 172:65be27845400 436 __STATIC_INLINE uint32_t LL_HSEM_IsEnabledIT_C1IER(HSEM_TypeDef *HSEMx, uint32_t SemaphoreMask)
AnnaBridge 172:65be27845400 437 {
AnnaBridge 172:65be27845400 438 return ((READ_BIT(HSEMx->C1IER, SemaphoreMask) == (SemaphoreMask)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 439 }
AnnaBridge 172:65be27845400 440
AnnaBridge 172:65be27845400 441 /**
AnnaBridge 172:65be27845400 442 * @}
AnnaBridge 172:65be27845400 443 */
AnnaBridge 172:65be27845400 444
AnnaBridge 172:65be27845400 445 /** @defgroup HSEM_LL_EF_FLAG_Management FLAG_Management
AnnaBridge 172:65be27845400 446 * @{
AnnaBridge 172:65be27845400 447 */
AnnaBridge 172:65be27845400 448
AnnaBridge 172:65be27845400 449 /**
AnnaBridge 172:65be27845400 450 * @brief Clear interrupt status.
AnnaBridge 172:65be27845400 451 * @rmtoll C1ICR ISEM LL_HSEM_ClearFlag_C1ICR
AnnaBridge 172:65be27845400 452 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 453 * @param SemaphoreMask This parameter can be a combination of the following values:
AnnaBridge 172:65be27845400 454 * @arg @ref LL_HSEM_SEMAPHORE_0
AnnaBridge 172:65be27845400 455 * @arg @ref LL_HSEM_SEMAPHORE_1
AnnaBridge 172:65be27845400 456 * @arg @ref LL_HSEM_SEMAPHORE_2
AnnaBridge 172:65be27845400 457 * @arg @ref LL_HSEM_SEMAPHORE_3
AnnaBridge 172:65be27845400 458 * @arg @ref LL_HSEM_SEMAPHORE_4
AnnaBridge 172:65be27845400 459 * @arg @ref LL_HSEM_SEMAPHORE_5
AnnaBridge 172:65be27845400 460 * @arg @ref LL_HSEM_SEMAPHORE_6
AnnaBridge 172:65be27845400 461 * @arg @ref LL_HSEM_SEMAPHORE_7
AnnaBridge 172:65be27845400 462 * @arg @ref LL_HSEM_SEMAPHORE_8
AnnaBridge 172:65be27845400 463 * @arg @ref LL_HSEM_SEMAPHORE_9
AnnaBridge 172:65be27845400 464 * @arg @ref LL_HSEM_SEMAPHORE_10
AnnaBridge 172:65be27845400 465 * @arg @ref LL_HSEM_SEMAPHORE_11
AnnaBridge 172:65be27845400 466 * @arg @ref LL_HSEM_SEMAPHORE_12
AnnaBridge 172:65be27845400 467 * @arg @ref LL_HSEM_SEMAPHORE_13
AnnaBridge 172:65be27845400 468 * @arg @ref LL_HSEM_SEMAPHORE_14
AnnaBridge 172:65be27845400 469 * @arg @ref LL_HSEM_SEMAPHORE_15
AnnaBridge 172:65be27845400 470 * @arg @ref LL_HSEM_SEMAPHORE_16
AnnaBridge 172:65be27845400 471 * @arg @ref LL_HSEM_SEMAPHORE_17
AnnaBridge 172:65be27845400 472 * @arg @ref LL_HSEM_SEMAPHORE_18
AnnaBridge 172:65be27845400 473 * @arg @ref LL_HSEM_SEMAPHORE_19
AnnaBridge 172:65be27845400 474 * @arg @ref LL_HSEM_SEMAPHORE_20
AnnaBridge 172:65be27845400 475 * @arg @ref LL_HSEM_SEMAPHORE_21
AnnaBridge 172:65be27845400 476 * @arg @ref LL_HSEM_SEMAPHORE_22
AnnaBridge 172:65be27845400 477 * @arg @ref LL_HSEM_SEMAPHORE_23
AnnaBridge 172:65be27845400 478 * @arg @ref LL_HSEM_SEMAPHORE_24
AnnaBridge 172:65be27845400 479 * @arg @ref LL_HSEM_SEMAPHORE_25
AnnaBridge 172:65be27845400 480 * @arg @ref LL_HSEM_SEMAPHORE_26
AnnaBridge 172:65be27845400 481 * @arg @ref LL_HSEM_SEMAPHORE_27
AnnaBridge 172:65be27845400 482 * @arg @ref LL_HSEM_SEMAPHORE_28
AnnaBridge 172:65be27845400 483 * @arg @ref LL_HSEM_SEMAPHORE_29
AnnaBridge 172:65be27845400 484 * @arg @ref LL_HSEM_SEMAPHORE_30
AnnaBridge 172:65be27845400 485 * @arg @ref LL_HSEM_SEMAPHORE_31
AnnaBridge 172:65be27845400 486 * @arg @ref LL_HSEM_SEMAPHORE_ALL
AnnaBridge 172:65be27845400 487 * @retval None
AnnaBridge 172:65be27845400 488 */
AnnaBridge 172:65be27845400 489 __STATIC_INLINE void LL_HSEM_ClearFlag_C1ICR(HSEM_TypeDef *HSEMx, uint32_t SemaphoreMask)
AnnaBridge 172:65be27845400 490 {
AnnaBridge 172:65be27845400 491 WRITE_REG(HSEMx->C1ICR, SemaphoreMask);
AnnaBridge 172:65be27845400 492 }
AnnaBridge 172:65be27845400 493
AnnaBridge 172:65be27845400 494 /**
AnnaBridge 172:65be27845400 495 * @brief Get interrupt status from ISR register.
AnnaBridge 172:65be27845400 496 * @rmtoll C1ISR ISEM LL_HSEM_IsActiveFlag_C1ISR
AnnaBridge 172:65be27845400 497 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 498 * @param SemaphoreMask This parameter can be a combination of the following values:
AnnaBridge 172:65be27845400 499 * @arg @ref LL_HSEM_SEMAPHORE_0
AnnaBridge 172:65be27845400 500 * @arg @ref LL_HSEM_SEMAPHORE_1
AnnaBridge 172:65be27845400 501 * @arg @ref LL_HSEM_SEMAPHORE_2
AnnaBridge 172:65be27845400 502 * @arg @ref LL_HSEM_SEMAPHORE_3
AnnaBridge 172:65be27845400 503 * @arg @ref LL_HSEM_SEMAPHORE_4
AnnaBridge 172:65be27845400 504 * @arg @ref LL_HSEM_SEMAPHORE_5
AnnaBridge 172:65be27845400 505 * @arg @ref LL_HSEM_SEMAPHORE_6
AnnaBridge 172:65be27845400 506 * @arg @ref LL_HSEM_SEMAPHORE_7
AnnaBridge 172:65be27845400 507 * @arg @ref LL_HSEM_SEMAPHORE_8
AnnaBridge 172:65be27845400 508 * @arg @ref LL_HSEM_SEMAPHORE_9
AnnaBridge 172:65be27845400 509 * @arg @ref LL_HSEM_SEMAPHORE_10
AnnaBridge 172:65be27845400 510 * @arg @ref LL_HSEM_SEMAPHORE_11
AnnaBridge 172:65be27845400 511 * @arg @ref LL_HSEM_SEMAPHORE_12
AnnaBridge 172:65be27845400 512 * @arg @ref LL_HSEM_SEMAPHORE_13
AnnaBridge 172:65be27845400 513 * @arg @ref LL_HSEM_SEMAPHORE_14
AnnaBridge 172:65be27845400 514 * @arg @ref LL_HSEM_SEMAPHORE_15
AnnaBridge 172:65be27845400 515 * @arg @ref LL_HSEM_SEMAPHORE_16
AnnaBridge 172:65be27845400 516 * @arg @ref LL_HSEM_SEMAPHORE_17
AnnaBridge 172:65be27845400 517 * @arg @ref LL_HSEM_SEMAPHORE_18
AnnaBridge 172:65be27845400 518 * @arg @ref LL_HSEM_SEMAPHORE_19
AnnaBridge 172:65be27845400 519 * @arg @ref LL_HSEM_SEMAPHORE_20
AnnaBridge 172:65be27845400 520 * @arg @ref LL_HSEM_SEMAPHORE_21
AnnaBridge 172:65be27845400 521 * @arg @ref LL_HSEM_SEMAPHORE_22
AnnaBridge 172:65be27845400 522 * @arg @ref LL_HSEM_SEMAPHORE_23
AnnaBridge 172:65be27845400 523 * @arg @ref LL_HSEM_SEMAPHORE_24
AnnaBridge 172:65be27845400 524 * @arg @ref LL_HSEM_SEMAPHORE_25
AnnaBridge 172:65be27845400 525 * @arg @ref LL_HSEM_SEMAPHORE_26
AnnaBridge 172:65be27845400 526 * @arg @ref LL_HSEM_SEMAPHORE_27
AnnaBridge 172:65be27845400 527 * @arg @ref LL_HSEM_SEMAPHORE_28
AnnaBridge 172:65be27845400 528 * @arg @ref LL_HSEM_SEMAPHORE_29
AnnaBridge 172:65be27845400 529 * @arg @ref LL_HSEM_SEMAPHORE_30
AnnaBridge 172:65be27845400 530 * @arg @ref LL_HSEM_SEMAPHORE_31
AnnaBridge 172:65be27845400 531 * @arg @ref LL_HSEM_SEMAPHORE_ALL
AnnaBridge 172:65be27845400 532 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 533 */
AnnaBridge 172:65be27845400 534 __STATIC_INLINE uint32_t LL_HSEM_IsActiveFlag_C1ISR(HSEM_TypeDef *HSEMx, uint32_t SemaphoreMask)
AnnaBridge 172:65be27845400 535 {
AnnaBridge 172:65be27845400 536 return ((READ_BIT(HSEMx->C1ISR, SemaphoreMask) == (SemaphoreMask)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 537 }
AnnaBridge 172:65be27845400 538
AnnaBridge 172:65be27845400 539 /**
AnnaBridge 172:65be27845400 540 * @brief Get interrupt status from MISR register.
AnnaBridge 172:65be27845400 541 * @rmtoll C1MISR ISEM LL_HSEM_IsActiveFlag_C1MISR
AnnaBridge 172:65be27845400 542 * @param HSEMx HSEM Instance.
AnnaBridge 172:65be27845400 543 * @param SemaphoreMask This parameter can be a combination of the following values:
AnnaBridge 172:65be27845400 544 * @arg @ref LL_HSEM_SEMAPHORE_0
AnnaBridge 172:65be27845400 545 * @arg @ref LL_HSEM_SEMAPHORE_1
AnnaBridge 172:65be27845400 546 * @arg @ref LL_HSEM_SEMAPHORE_2
AnnaBridge 172:65be27845400 547 * @arg @ref LL_HSEM_SEMAPHORE_3
AnnaBridge 172:65be27845400 548 * @arg @ref LL_HSEM_SEMAPHORE_4
AnnaBridge 172:65be27845400 549 * @arg @ref LL_HSEM_SEMAPHORE_5
AnnaBridge 172:65be27845400 550 * @arg @ref LL_HSEM_SEMAPHORE_6
AnnaBridge 172:65be27845400 551 * @arg @ref LL_HSEM_SEMAPHORE_7
AnnaBridge 172:65be27845400 552 * @arg @ref LL_HSEM_SEMAPHORE_8
AnnaBridge 172:65be27845400 553 * @arg @ref LL_HSEM_SEMAPHORE_9
AnnaBridge 172:65be27845400 554 * @arg @ref LL_HSEM_SEMAPHORE_10
AnnaBridge 172:65be27845400 555 * @arg @ref LL_HSEM_SEMAPHORE_11
AnnaBridge 172:65be27845400 556 * @arg @ref LL_HSEM_SEMAPHORE_12
AnnaBridge 172:65be27845400 557 * @arg @ref LL_HSEM_SEMAPHORE_13
AnnaBridge 172:65be27845400 558 * @arg @ref LL_HSEM_SEMAPHORE_14
AnnaBridge 172:65be27845400 559 * @arg @ref LL_HSEM_SEMAPHORE_15
AnnaBridge 172:65be27845400 560 * @arg @ref LL_HSEM_SEMAPHORE_16
AnnaBridge 172:65be27845400 561 * @arg @ref LL_HSEM_SEMAPHORE_17
AnnaBridge 172:65be27845400 562 * @arg @ref LL_HSEM_SEMAPHORE_18
AnnaBridge 172:65be27845400 563 * @arg @ref LL_HSEM_SEMAPHORE_19
AnnaBridge 172:65be27845400 564 * @arg @ref LL_HSEM_SEMAPHORE_20
AnnaBridge 172:65be27845400 565 * @arg @ref LL_HSEM_SEMAPHORE_21
AnnaBridge 172:65be27845400 566 * @arg @ref LL_HSEM_SEMAPHORE_22
AnnaBridge 172:65be27845400 567 * @arg @ref LL_HSEM_SEMAPHORE_23
AnnaBridge 172:65be27845400 568 * @arg @ref LL_HSEM_SEMAPHORE_24
AnnaBridge 172:65be27845400 569 * @arg @ref LL_HSEM_SEMAPHORE_25
AnnaBridge 172:65be27845400 570 * @arg @ref LL_HSEM_SEMAPHORE_26
AnnaBridge 172:65be27845400 571 * @arg @ref LL_HSEM_SEMAPHORE_27
AnnaBridge 172:65be27845400 572 * @arg @ref LL_HSEM_SEMAPHORE_28
AnnaBridge 172:65be27845400 573 * @arg @ref LL_HSEM_SEMAPHORE_29
AnnaBridge 172:65be27845400 574 * @arg @ref LL_HSEM_SEMAPHORE_30
AnnaBridge 172:65be27845400 575 * @arg @ref LL_HSEM_SEMAPHORE_31
AnnaBridge 172:65be27845400 576 * @arg @ref LL_HSEM_SEMAPHORE_ALL
AnnaBridge 172:65be27845400 577 * @retval State of bit (1 or 0).
AnnaBridge 172:65be27845400 578 */
AnnaBridge 172:65be27845400 579 __STATIC_INLINE uint32_t LL_HSEM_IsActiveFlag_C1MISR(HSEM_TypeDef *HSEMx, uint32_t SemaphoreMask)
AnnaBridge 172:65be27845400 580 {
AnnaBridge 172:65be27845400 581 return ((READ_BIT(HSEMx->C1MISR, SemaphoreMask) == (SemaphoreMask)) ? 1UL : 0UL);
AnnaBridge 172:65be27845400 582 }
AnnaBridge 172:65be27845400 583
AnnaBridge 172:65be27845400 584 /**
AnnaBridge 172:65be27845400 585 * @}
AnnaBridge 172:65be27845400 586 */
AnnaBridge 172:65be27845400 587
AnnaBridge 172:65be27845400 588 /**
AnnaBridge 172:65be27845400 589 * @}
AnnaBridge 172:65be27845400 590 */
AnnaBridge 172:65be27845400 591
AnnaBridge 172:65be27845400 592 /**
AnnaBridge 172:65be27845400 593 * @}
AnnaBridge 172:65be27845400 594 */
AnnaBridge 172:65be27845400 595
AnnaBridge 172:65be27845400 596 #endif /* defined(HSEM) */
AnnaBridge 172:65be27845400 597
AnnaBridge 172:65be27845400 598 /**
AnnaBridge 172:65be27845400 599 * @}
AnnaBridge 172:65be27845400 600 */
AnnaBridge 172:65be27845400 601
AnnaBridge 172:65be27845400 602 #ifdef __cplusplus
AnnaBridge 172:65be27845400 603 }
AnnaBridge 172:65be27845400 604 #endif
AnnaBridge 172:65be27845400 605
AnnaBridge 172:65be27845400 606 #endif /* __STM32H7xx_LL_HSEM_H */
AnnaBridge 172:65be27845400 607
AnnaBridge 172:65be27845400 608 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/