STM32G474xx HAL 用户手册
stm32g4xx_ll_hrtim.h
转到此文件的文档。
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 */