|
STM32G474xx HAL 用户手册
|
00001 /** 00002 ****************************************************************************** 00003 * @file stm32g4xx_ll_hrtim.h 00004 * @author MCD 应用团队 00005 * @brief HRTIM 低级驱动模块的头文件。 00006 ****************************************************************************** 00007 * @attention 00008 * 00009 * 版权所有 (c) 2019 STMicroelectronics。 00010 * 保留所有权利。 00011 * 00012 * 本软件根据可在本软件组件根目录的 LICENSE 文件中找到的条款进行许可。 00013 * 如果本软件没有附带 LICENSE 文件,则按“原样”提供。 00014 * 00015 ****************************************************************************** 00016 */ 00017 00018 00019 /* 定义以防止递归包含 -------------------------------------*/ 00020 #ifndef STM32G4xx_LL_HRTIM_H 00021 #define STM32G4xx_LL_HRTIM_H 00022 00023 #ifdef __cplusplus 00024 extern "C" { 00025 #endif 00026 00027 /* 包含 ------------------------------------------------------------------*/ 00028 #include "stm32g4xx.h" 00029 00030 /** @addtogroup STM32G4xx_LL_Driver 00031 * @{ 00032 */ 00033 00034 #if defined (HRTIM1) 00035 00036 /** @defgroup HRTIM_LL HRTIM 00037 * @{ 00038 */ 00039 00040 /* 私有类型 -------------------------------------------------------------*/ 00041 /* 私有变量 ---------------------------------------------------------*/ 00042 /** @defgroup HRTIM_LL_Private_Variables HRTIM 私有变量 00043 * @{ 00044 */ 00045 static const uint16_t REG_OFFSET_TAB_TIMER[] = 00046 { 00047 0x00U, /* 0: 主定时器 */ 00048 0x80U, /* 1: 定时器 A */ 00049 0x100U, /* 2: 定时器 B */ 00050 0x180U, /* 3: 定时器 C */ 00051 0x200U, /* 4: 定时器 D */ 00052 0x280U, /* 5: 定时器 E */ 00053 0x300U, /* 6: 定时器 F */ 00054 }; 00055 00056 static const uint8_t REG_OFFSET_TAB_ADCER[] = 00057 { 00058 0x00U, /* LL_HRTIM_ADCTRIG_1: HRTIM_ADC1R */ 00059 0x04U, /* LL_HRTIM_ADCTRIG_2: HRTIM_ADC2R */ 00060 0x08U, /* LL_HRTIM_ADCTRIG_3: HRTIM_ADC3R */ 00061 0x0CU, /* LL_HRTIM_ADCTRIG_4: HRTIM_ADC4R */ 00062 0x3CU, /* LL_HRTIM_ADCTRIG_5: HRTIM_ADCER */ 00063 0x3CU, /* LL_HRTIM_ADCTRIG_6: HRTIM_ADCER */ 00064 0x3CU, /* LL_HRTIM_ADCTRIG_7: HRTIM_ADCER */ 00065 0x3CU, /* LL_HRTIM_ADCTRIG_8: HRTIM_ADCER */ 00066 0x3CU, /* LL_HRTIM_ADCTRIG_9: HRTIM_ADCER */ 00067 0x3CU, /* LL_HRTIM_ADCTRIG_10: HRTIM_ADCER */ 00068 }; 00069 00070 static const uint8_t REG_OFFSET_TAB_ADCUR[] = 00071 { 00072 0x00U, /* LL_HRTIM_ADCTRIG_1: HRTIM_CR1 */ 00073 0x00U, /* LL_HRTIM_ADCTRIG_2: HRTIM_CR1 */ 00074 0x00U, /* LL_HRTIM_ADCTRIG_3: HRTIM_CR1 */ 00075 0x00U, /* LL_HRTIM_ADCTRIG_4: HRTIM_CR1 */ 00076 0x7CU, /* LL_HRTIM_ADCTRIG_5: HRTIM_ADCUR */ 00077 0x7CU, /* LL_HRTIM_ADCTRIG_6: HRTIM_ADCUR */ 00078 0x7CU, /* LL_HRTIM_ADCTRIG_7: HRTIM_ADCUR */ 00079 0x7CU, /* LL_HRTIM_ADCTRIG_8: HRTIM_ADCUR */ 00080 0x7CU, /* LL_HRTIM_ADCTRIG_9: HRTIM_ADCUR */ 00081 0x7CU, /* LL_HRTIM_ADCTRIG_10: HRTIM_ADCUR */ 00082 }; 00083 00084 static const uint8_t REG_SHIFT_TAB_ADCER[] = 00085 { 00086 0, /* LL_HRTIM_ADCTRIG_1 */ 00087 0, /* LL_HRTIM_ADCTRIG_2 */ 00088 0, /* LL_HRTIM_ADCTRIG_3 */ 00089 0, /* LL_HRTIM_ADCTRIG_4 */ 00090 0, /* LL_HRTIM_ADCTRIG_5 */ 00091 5, /* LL_HRTIM_ADCTRIG_6 */ 00092 10, /* LL_HRTIM_ADCTRIG_7 */ 00093 16, /* LL_HRTIM_ADCTRIG_8 */ 00094 21, /* LL_HRTIM_ADCTRIG_9 */ 00095 26 /* LL_HRTIM_ADCTRIG_10 */ 00096 }; 00097 00098 static const uint8_t REG_SHIFT_TAB_ADCUR[] = 00099 { 00100 16, /* LL_HRTIM_ADCTRIG_1 */ 00101 19, /* LL_HRTIM_ADCTRIG_2 */ 00102 22, /* LL_HRTIM_ADCTRIG_3 */ 00103 25, /* LL_HRTIM_ADCTRIG_4 */ 00104 0, /* LL_HRTIM_ADCTRIG_5 */ 00105 4, /* LL_HRTIM_ADCTRIG_6 */ 00106 8, /* LL_HRTIM_ADCTRIG_7 */ 00107 12, /* LL_HRTIM_ADCTRIG_8 */ 00108 16, /* LL_HRTIM_ADCTRIG_9 */ 00109 20 /* LL_HRTIM_ADCTRIG_10 */ 00110 }; 00111 00112 static const uint32_t REG_MASK_TAB_ADCER[] = 00113 { 00114 0xFFFFFFFFU, /* LL_HRTIM_ADCTRIG_1 */ 00115 0xFFFFFFFFU, /* LL_HRTIM_ADCTRIG_2 */ 00116 0xFFFFFFFFU, /* LL_HRTIM_ADCTRIG_3 */ 00117 0xFFFFFFFFU, /* LL_HRTIM_ADCTRIG_4 */ 00118 0x0000001FU, /* LL_HRTIM_ADCTRIG_5 */ 00119 0x000003E0U, /* LL_HRTIM_ADCTRIG_6 */ 00120 0x00007C00U, /* LL_HRTIM_ADCTRIG_7 */ 00121 0x001F0000U, /* LL_HRTIM_ADCTRIG_8 */ 00122 0x03E00000U, /* LL_HRTIM_ADCTRIG_9 */ 00123 0x7C000000U /* LL_HRTIM_ADCTRIG_10 */ 00124 }; 00125 00126 static const uint32_t REG_MASK_TAB_ADCUR[] = 00127 { 00128 0x00070000U, /* LL_HRTIM_ADCTRIG_1 */ 00129 0x00380000U, /* LL_HRTIM_ADCTRIG_2 */ 00130 0x01C00000U, /* LL_HRTIM_ADCTRIG_3 */ 00131 0x0E000000U, /* LL_HRTIM_ADCTRIG_4 */ 00132 0x00000007U, /* LL_HRTIM_ADCTRIG_5 */ 00133 0x00000070U, /* LL_HRTIM_ADCTRIG_6 */ 00134 0x00000700U, /* LL_HRTIM_ADCTRIG_7 */ 00135 0x00007000U, /* LL_HRTIM_ADCTRIG_8 */ 00136 0x00070000U, /* LL_HRTIM_ADCTRIG_9 */ 00137 0x00700000U /* LL_HRTIM_ADCTRIG_10 */ 00138 }; 00139 00140 static const uint8_t REG_OFFSET_TAB_ADCPSx[] = 00141 { 00142 0U, /* 0: HRTIM_ADC1R */ 00143 6U, /* 1: HRTIM_ADC2R */ 00144 12U, /* 2: HRTIM_ADC3R */ 00145 18U, /* 3: HRTIM_ADC4R */ 00146 24U, /* 4: HRTIM_ADC5R */ 00147 32U, /* 5: HRTIM_ADC6R */ 00148 38U, /* 6: HRTIM_ADC7R */ 00149 44U, /* 7: HRTIM_ADC8R */ 00150 50U, /* 8: HRTIM_ADC9R */ 00151 56U /* 9: HRTIM_ADC10R */ 00152 }; 00153 00154 static const uint16_t REG_OFFSET_TAB_SETxR[] = 00155 { 00156 0x00U, /* 0: TA1 */ 00157 0x08U, /* 1: TA2 */ 00158 0x80U, /* 2: TB1 */ 00159 0x88U, /* 3: TB2 */ 00160 0x100U, /* 4: TC1 */ 00161 0x108U, /* 5: TC2 */ 00162 0x180U, /* 6: TD1 */ 00163 0x188U, /* 7: TD2 */ 00164 0x200U, /* 8: TE1 */ 00165 0x208U, /* 9: TE2 */ 00166 0x280U, /* 10: TF1 */ 00167 0x288U /* 11: TF2 */ 00168 }; 00169 00170 static const uint16_t REG_OFFSET_TAB_OUTxR[] = 00171 { 00172 0x00U, /* 0: TA1 */ 00173 0x00U, /* 1: TA2 */ 00174 0x80U, /* 2: TB1 */ 00175 0x80U, /* 3: TB2 */ 00176 0x100U, /* 4: TC1 */ 00177 0x100U, /* 5: TC2 */ 00178 0x180U, /* 6: TD1 */ 00179 0x180U, /* 7: TD2 */ 00180 0x200U, /* 8: TE1 */ 00181 0x200U, /* 9: TE2 */ 00182 0x280U, /* 10: TF1 */ 00183 0x280U /* 11: TF2 */ 00184 }; 00185 00186 static const uint8_t REG_OFFSET_TAB_EECR[] = 00187 { 00188 0x00U, /* LL_HRTIM_EVENT_1 */ 00189 0x00U, /* LL_HRTIM_EVENT_2 */ 00190 0x00U, /* LL_HRTIM_EVENT_3 */ 00191 0x00U, /* LL_HRTIM_EVENT_4 */ 00192 0x00U, /* LL_HRTIM_EVENT_5 */ 00193 0x04U, /* LL_HRTIM_EVENT_6 */ 00194 0x04U, /* LL_HRTIM_EVENT_7 */ 00195 0x04U, /* LL_HRTIM_EVENT_8 */ 00196 0x04U, /* LL_HRTIM_EVENT_9 */ 00197 0x04U /* LL_HRTIM_EVENT_10 */