1 /** 2 ****************************************************************************** 3 * @file stm32n6xx_ll_venc.h 4 * @author GPM Application Team 5 * @brief Header file of VENC module. 6 ****************************************************************************** 7 * @attention 8 * 9 * Copyright (c) 2023 STMicroelectronics. 10 * All rights reserved. 11 * 12 * This software is licensed under terms that can be found in the LICENSE file 13 * in the root directory of this software component. 14 * If no LICENSE file comes with this software, it is provided AS-IS. 15 * 16 ****************************************************************************** 17 */ 18 19 /* Define to prevent recursive inclusion -------------------------------------*/ 20 #ifndef STM32N6xx_LL_VENC_H 21 #define STM32N6xx_LL_VENC_H 22 23 #ifdef __cplusplus 24 extern "C" { 25 #endif /* __cplusplus */ 26 27 /* Includes ------------------------------------------------------------------*/ 28 #include "stm32n6xx.h" 29 30 /** @addtogroup STM32N6xx_LL_Driver 31 * @{ 32 */ 33 34 /** @defgroup VENC_LL VENC 35 * @{ 36 */ 37 38 #if defined(VENC) 39 /* Exported types ------------------------------------------------------------*/ 40 /** @defgroup VENC_Exported_Types VENC Exported Types 41 * @{ 42 43 */ 44 45 /** 46 * @} 47 */ 48 49 /* Exported constants --------------------------------------------------------*/ 50 /** @defgroup VENC_Exported_Constants VENC Exported Constants 51 * @{ 52 53 */ 54 /** 55 * @} 56 */ 57 58 59 /* Exported variables --------------------------------------------------------*/ 60 /** @defgroup VENC_Global_Variables VENC Global Variables 61 * @{ 62 */ 63 64 /** 65 * @} 66 */ 67 68 /* Exported macros -----------------------------------------------------------*/ 69 /** @defgroup VENC_Exported_Macros VENC Exported Macros 70 * @{ 71 */ 72 73 #define LL_VENC_IS_VENCRAM_SYSTEM_ACCESSIBLE() ((SYSCFG->VENCRAMCR & 0b1)!=0) 74 /** @defgroup RCC_LL_EM_WRITE_READ Common Write and read registers Macros 75 * @{ 76 */ 77 78 #define VENC_REG(x) (*(__IO uint32_t *) (VENC_BASE + (4UL*(x)))) 79 /** 80 * @brief Write a value in VENC register 81 * @param __REG__ Number of the register to be written 82 * @param __VALUE__ Value to be written in the register 83 * @retval None 84 */ 85 #define LL_VENC_WriteRegister(__REG__, __VALUE__) WRITE_REG(VENC_REG(__REG__), (__VALUE__)) 86 87 /** 88 * @brief Read a value in VENC register 89 * @param __REG__ Number of the register to be read 90 * @retval Register value 91 */ 92 #define LL_VENC_ReadRegister(__REG__) READ_REG(VENC_REG(__REG__)) 93 /** 94 * @} 95 */ 96 97 98 /** 99 * @} 100 */ 101 102 /* Exported functions --------------------------------------------------------*/ 103 /** @defgroup VENC_Exported_Functions VENC Exported Functions 104 * @{ 105 */ 106 107 /** @defgroup VENC_LL_EF_Init Init and De-Init functions 108 * @{ 109 */ 110 void LL_VENC_Init(void); 111 void LL_VENC_DeInit(void); 112 /** 113 * @} 114 */ 115 116 117 /** 118 * @} 119 */ 120 121 122 123 124 #ifdef __cplusplus 125 } 126 #endif /* __cplusplus */ 127 128 #endif /*VENC */ 129 130 /** 131 * @} 132 */ 133 134 /** 135 * @} 136 */ 137 138 #endif /* STM32N6xx_LL_VENC_H */ 139