#ifndef HC32L1XX_LL_BUS_H_
#define HC32L1XX_LL_BUS_H_
#ifdef __cplusplus
extern "C" {
#endif
#include "hc32l1xx.h"
///
#define LL_PER0_GRP1_PERIPH_ALL (uint32_t)0xFFFFFFFFU
#ifdef UART0
#define LL_PER0_GRP1_PERIPH_UART0 RCC_PER0ENR_UART0EN
#endif
#ifdef UART1
#define LL_PER0_GRP1_PERIPH_UART1 RCC_PER0ENR_UART1EN
#endif
#ifdef LPUART0
#define LL_PER0_GRP1_PERIPH_LPUART0 RCC_PER0ENR_LPUART0EN
#endif
#ifdef LPUART1
#define LL_PER0_GRP1_PERIPH_LPUART1 RCC_PER0ENR_LPUART1EN
#endif
#ifdef I2C0
#define LL_PER0_GRP1_PERIPH_I2C0 RCC_PER0ENR_I2C0EN
#endif
#ifdef I2C1
#define LL_PER0_GRP1_PERIPH_I2C1 RCC_PER0ENR_I2C1EN
#endif
#ifdef SPI0
#define LL_PER0_GRP1_PERIPH_SPI0 RCC_PER0ENR_SPI0EN
#endif
#ifdef SPI1
#define LL_PER0_GRP1_PERIPH_SPI1 RCC_PER0ENR_SPI1EN
#endif
#ifdef TIM0
#define LL_PER0_GRP1_PERIPH_TIM0 RCC_PER0ENR_TIM0EN
#endif
#ifdef TIM1
#define LL_PER0_GRP1_PERIPH_TIM1 RCC_PER0ENR_TIM1EN
#endif
#ifdef TIM2
#define LL_PER0_GRP1_PERIPH_TIM2 RCC_PER0ENR_TIM2EN
#endif
#ifdef LPTIM0
#define LL_PER0_GRP1_PERIPH_LPTIM0 RCC_PER0ENR_LPTIM0EN
#endif
#ifdef TIMP4
#define LL_PER0_GRP1_PERIPH_TIM4 RCC_PER0ENR_TIM4EN
#endif
#ifdef TIMP5
#define LL_PER0_GRP1_PERIPH_TIM5 RCC_PER0ENR_TIM5EN
#endif
#ifdef TIMP6
#define LL_PER0_GRP1_PERIPH_TIM6 RCC_PER0ENR_TIM6EN
#endif
#ifdef TIM3
#define LL_PER0_GRP1_PERIPH_TIM3 RCC_PER0ENR_TIM3EN
#endif
#ifdef OPA
#define LL_PER0_GRP1_PERIPH_OPA RCC_PER0ENR_OPAEN
#endif
#ifdef PCA
#define LL_PER0_GRP1_PERIPH_PCA RCC_PER0ENR_PCAEN
#endif
#ifdef WDT
#define LL_PER0_GRP1_PERIPH_WDT RCC_PER0ENR_WDTEN
#endif
#ifdef BGR
#define LL_PER0_GRP1_PERIPH_BGR RCC_PER0ENR_ADCEN
#endif
#ifdef ADC
#define LL_PER0_GRP1_PERIPH_ADC RCC_PER0ENR_ADCEN
#endif
#ifdef ADC0
#define LL_PER0_GRP1_PERIPH_ADC0 RCC_PER0ENR_ADCEN
#endif
#ifdef VC
#define LL_PER0_GRP1_PERIPH_VC RCC_PER0ENR_VCEN
#endif
#ifdef LVD
#define LL_PER0_GRP1_PERIPH_LVD RCC_PER0ENR_VCEN
#endif
#ifdef RNG
#define LL_PER0_GRP1_PERIPH_RNG RCC_PER0ENR_RNGEN
#endif
#ifdef PCNT
#define LL_PER0_GRP1_PERIPH_PCNT RCC_PER0ENR_PCNTEN
#endif
#ifdef RTC
#define LL_PER0_GRP1_PERIPH_RTC RCC_PER0ENR_RTCEN
#endif
#ifdef TRIM
#define LL_PER0_GRP1_PERIPH_TRIM RCC_PER0ENR_TRIMEN
#endif
#ifdef LCD
#define LL_PER0_GRP1_PERIPH_LCD RCC_PER0ENR_LCDEN
#endif
#ifdef SysTick
#define LL_PER0_GRP1_PERIPH_TICK RCC_PER0ENR_TICKEN
#endif
#define LL_PER0_GRP1_PERIPH_SWD RCC_PER0ENR_SWDEN
#ifdef CRC
#define LL_PER0_GRP1_PERIPH_CRC RCC_PER0ENR_CRCEN
#endif
#ifdef AES
#define LL_PER0_GRP1_PERIPH_AES RCC_PER0ENR_AESEN
#endif
#define LL_PER0_GRP1_PERIPH_GPIO RCC_PER0ENR_GPIOEN
#ifdef GPIOA
#define LL_PER0_GRP1_PERIPH_GPIOA RCC_PER0ENR_GPIOEN
#endif
#ifdef GPIOB
#define LL_PER0_GRP1_PERIPH_GPIOB RCC_PER0ENR_GPIOEN
#endif
#ifdef GPIOC
#define LL_PER0_GRP1_PERIPH_GPIOC RCC_PER0ENR_GPIOEN
#endif
#ifdef GPIOD
#define LL_PER0_GRP1_PERIPH_GPIOD RCC_PER0ENR_GPIOEN
#endif
#ifdef GPIOE
#define LL_PER0_GRP1_PERIPH_GPIOE RCC_PER0ENR_GPIOEN
#endif
#ifdef GPIOF
#define LL_PER0_GRP1_PERIPH_GPIOF RCC_PER0ENR_GPIOEN
#endif
#ifdef GPIOG
#define LL_PER0_GRP1_PERIPH_GPIOG RCC_PER0ENR_GPIOEN
#endif
#ifdef GPIOH
#define LL_PER0_GRP1_PERIPH_GPIOH RCC_PER0ENR_GPIOEN
#endif
#ifdef DMA
#define LL_PER0_GRP1_PERIPH_DMA RCC_PER0ENR_DMAEN
#endif
#ifdef FLASH
#define LL_PER0_GRP1_PERIPH_FLASH RCC_PER0ENR_FLASHEN
#endif
#define LL_PER1_GRP1_PERIPH_ALL (uint32_t)0xFFFFFFFFU
#ifdef DAC
#define LL_PER1_GRP1_PERIPH_DAC RCC_PER1ENR_DACEN
#endif
#ifdef DAC0
#define LL_PER1_GRP1_PERIPH_DAC0 RCC_PER1ENR_DACEN
#endif
#ifdef LPTIM1
#define LL_PER1_GRP1_PERIPH_LPTIM1 RCC_PER1ENR_LPTIM1EN
#endif
#ifdef UART2
#define LL_PER1_GRP1_PERIPH_UART2 RCC_PER1ENR_UART2EN
#endif
#ifdef UART3
#define LL_PER1_GRP1_PERIPH_UART3 RCC_PER1ENR_UART3EN
#endif
///
//函 数:
//功 能:应用初始化
//输入参 数:
//输出参 数:
//说 明:
//
static inline void LL_AHB1_GRP1_EnableClock(uint32_t Periphs)
{
}
///
//函 数:
//功 能:外设1模块的总线使能
//输入参 数:
//输出参 数:
//说 明: LL_PER0_GRP1_PERIPH_UART1
// LL_PER0_GRP1_PERIPH_LPUART0
// LL_PER0_GRP1_PERIPH_LPUART1
// LL_PER0_GRP1_PERIPH_I2C0
// LL_PER0_GRP1_PERIPH_I2C1
// LL_PER0_GRP1_PERIPH_SPI0
// LL_PER0_GRP1_PERIPH_SPI1
// LL_PER0_GRP1_PERIPH_TIM0
// LL_PER0_GRP1_PERIPH_TIM1
// LL_PER0_GRP1_PERIPH_TIM2
// LL_PER0_GRP1_PERIPH_LPTIM
// LL_PER0_GRP1_PERIPH_TIM4
// LL_PER0_GRP1_PERIPH_TIM5
// LL_PER0_GRP1_PERIPH_TIM6
// LL_PER0_GRP1_PERIPH_TIM3
// LL_PER0_GRP1_PERIPH_OPA
// LL_PER0_GRP1_PERIPH_PCA
// LL_PER0_GRP1_PERIPH_WDT
// LL_PER0_GRP1_PERIPH_ADC
// LL_PER0_GRP1_PERIPH_ADC0
// LL_PER0_GRP1_PERIPH_VC
// LL_PER0_GRP1_PERIPH_RNG
// LL_PER0_GRP1_PERIPH_PCNT
// LL_PER0_GRP1_PERIPH_RTC
// LL_PER0_GRP1_PERIPH_TRIM
// LL_PER0_GRP1_PERIPH_LCD
// LL_PER0_GRP1_PERIPH_TICK
// LL_PER0_GRP1_PERIPH_SWD
// LL_PER0_GRP1_PERIPH_CRC
// LL_PER0_GRP1_PERIPH_AES
// LL_PER0_GRP1_PERIPH_GPIOA
// LL_PER0_GRP1_PERIPH_GPIOB
// LL_PER0_GRP1_PERIPH_GPIOC
// LL_PER0_GRP1_PERIPH_GPIOD
// LL_PER0_GRP1_PERIPH_GPIOE
// LL_PER0_GRP1_PERIPH_GPIOF
// LL_PER0_GRP1_PERIPH_GPIOG
// LL_PER0_GRP1_PERIPH_GPIOH
// LL_PER0_GRP1_PERIPH_DMA
// LL_PER0_GRP1_PERIPH_FLASH
//
static inline void LL_PER0_GRP1_EnableClock(uint32_t Periphs)
{
//__IO uint32_t tmpreg = 0;
SET_BIT(RCC->PERENR0, Periphs);
//tmpreg = READ_BIT(RCC->PERENR0, Periphs);
//(void)tmpreg;
}
///
//函 数:
//功 能:外设1模块的总线不使能
//输入参 数:
//输出参 数:
//说 明: LL_PER0_GRP1_PERIPH_UART1
// LL_PER0_GRP1_PERIPH_LPUART0
// LL_PER0_GRP1_PERIPH_LPUART1
// LL_PER0_GRP1_PERIPH_I2C0
// LL_PER0_GRP1_PERIPH_I2C1
// LL_PER0_GRP1_PERIPH_SPI0
// LL_PER0_GRP1_PERIPH_SPI1
// LL_PER0_GRP1_PERIPH_TIM0
// LL_PER0_GRP1_PERIPH_TIM1
// LL_PER0_GRP1_PERIPH_TIM2
// LL_PER0_GRP1_PERIPH_LPTIM
// LL_PER0_GRP1_PERIPH_TIM4
// LL_PER0_GRP1_PERIPH_TIM5
// LL_PER0_GRP1_PERIPH_TIM6
// LL_PER0_GRP1_PERIPH_TIM3
// LL_PER0_GRP1_PERIPH_OPA
// LL_PER0_GRP1_PERIPH_PCA
// LL_PER0_GRP1_PERIPH_WDT
// LL_PER0_GRP1_PERIPH_ADC
// LL_PER0_GRP1_PERIPH_ADC0
// LL_PER0_GRP1_PERIPH_VC
// LL_PER0_GRP1_PERIPH_RNG
// LL_PER0_GRP1_PERIPH_PCNT
// LL_PER0_GRP1_PERIPH_RTC
// LL_PER0_GRP1_PERIPH_TRIM
// LL_PER0_GRP1_PERIPH_LCD
// LL_PER0_GRP1_PERIPH_TICK
// LL_PER0_GRP1_PERIPH_SWD
// LL_PER0_GRP1_PERIPH_CRC
// LL_PER0_GRP1_PERIPH_AES
// LL_PER0_GRP1_PERIPH_GPIOA
// LL_PER0_GRP1_PERIPH_GPIOB
// LL_PER0_GRP1_PERIPH_GPIOC
// LL_PER0_GRP1_PERIPH_GPIOD
// LL_PER0_GRP1_PERIPH_GPIOE
// LL_PER0_GRP1_PERIPH_GPIOF
// LL_PER0_GRP1_PERIPH_GPIOG
// LL_PER0_GRP1_PERIPH_GPIOH
// LL_PER0_GRP1_PERIPH_DMA
// LL_PER0_GRP1_PERIPH_FLASH
//
static inline void LL_PER0_GRP1_DisableClock(uint32_t Periphs)
{
//__IO uint32_t tmpreg = 0;
CLEAR_BIT(RCC->PERENR0, Periphs);
//tmpreg = READ_BIT(RCC->PERENR0, Periphs);
//(void)tmpreg;
}
///
//函 数:
//功 能:
//输入参 数:
//输出参 数:
//说 明:
//
static inline uint32_t LL_PER0_GRP1_IsEnabled_Clock(uint32_t Periphs)
{
return (uint32_t)(READ_BIT(RCC->PERENR0, Periphs) == Periphs);
}
///
//函 数:
//功 能:外设1模块的总线强制复位
//输入参 数:
//输出参 数:
//说 明: LL_PER0_GRP1_PERIPH_UART1
// LL_PER0_GRP1_PERIPH_LPUART0
// LL_PER0_GRP1_PERIPH_LPUART1
// LL_PER0_GRP1_PERIPH_I2C0
// LL_PER0_GRP1_PERIPH_I2C1
// LL_PER0_GRP1_PERIPH_SPI0
// LL_PER0_GRP1_PERIPH_SPI1
// LL_PER0_GRP1_PERIPH_TIM0
// LL_PER0_GRP1_PERIPH_TIM1
// LL_PER0_GRP1_PERIPH_TIM2
// LL_PER0_GRP1_PERIPH_LPTIM
// LL_PER0_GRP1_PERIPH_TIM4
// LL_PER0_GRP1_PERIPH_TIM5
// LL_PER0_GRP1_PERIPH_TIM6
// LL_PER0_GRP1_PERIPH_TIM3
// LL_PER0_GRP1_PERIPH_OPA
// LL_PER0_GRP1_PERIPH_PCA
// LL_PER0_GRP1_PERIPH_WDT
// LL_PER0_GRP1_PERIPH_ADC
// LL_PER0_GRP1_PERIPH_ADC0
// LL_PER0_GRP1_PERIPH_VC
// LL_PER0_GRP1_PERIPH_RNG
// LL_PER0_GRP1_PERIPH_PCNT
// LL_PER0_GRP1_PERIPH_RTC
// LL_PER0_GRP1_PERIPH_TRIM
// LL_PER0_GRP1_PERIPH_LCD
// LL_PER0_GRP1_PERIPH_TICK
// LL_PER0_GRP1_PERIPH_SWD
// LL_PER0_GRP1_PERIPH_CRC
// LL_PER0_GRP1_PERIPH_AES
// LL_PER0_GRP1_PERIPH_GPIOA
// LL_PER0_GRP1_PERIPH_GPIOB
// LL_PER0_GRP1_PERIPH_GPIOC
// LL_PER0_GRP1_PERIPH_GPIOD
// LL_PER0_GRP1_PERIPH_GPIOE
// LL_PER0_GRP1_PERIPH_GPIOF
// LL_PER0_GRP1_PERIPH_GPIOG
// LL_PER0_GRP1_PERIPH_GPIOH
// LL_PER0_GRP1_PERIPH_DMA
// LL_PER0_GRP1_PERIPH_FLASH
//
static inline void LL_PER0_GRP1_ForceReset(uint32_t Periphs)
{
//__IO uint32_t tmpreg = 0;
CLEAR_BIT(RCC->PERRSTR0, Periphs);
//tmpreg = READ_BIT(RCC->PERRSTR0, Periphs);
//(void)tmpreg;
}
///
//函 数:
//功 能:外设1模块的总线释放复位
//输入参 数:
//输出参 数:
//说 明: LL_PER0_GRP1_PERIPH_UART1
// LL_PER0_GRP1_PERIPH_LPUART0
// LL_PER0_GRP1_PERIPH_LPUART1
// LL_PER0_GRP1_PERIPH_I2C0
// LL_PER0_GRP1_PERIPH_I2C1
// LL_PER0_GRP1_PERIPH_SPI0
// LL_PER0_GRP1_PERIPH_SPI1
// LL_PER0_GRP1_PERIPH_TIM0
// LL_PER0_GRP1_PERIPH_TIM1
// LL_PER0_GRP1_PERIPH_TIM2
// LL_PER0_GRP1_PERIPH_LPTIM
// LL_PER0_GRP1_PERIPH_TIM4
// LL_PER0_GRP1_PERIPH_TIM5
// LL_PER0_GRP1_PERIPH_TIM6
// LL_PER0_GRP1_PERIPH_TIM3
// LL_PER0_GRP1_PERIPH_OPA
// LL_PER0_GRP1_PERIPH_PCA
// LL_PER0_GRP1_PERIPH_WDT
// LL_PER0_GRP1_PERIPH_ADC
// LL_PER0_GRP1_PERIPH_ADC0
// LL_PER0_GRP1_PERIPH_VC
// LL_PER0_GRP1_PERIPH_RNG
// LL_PER0_GRP1_PERIPH_PCNT
// LL_PER0_GRP1_PERIPH_RTC
// LL_PER0_GRP1_PERIPH_TRIM
// LL_PER0_GRP1_PERIPH_LCD
// LL_PER0_GRP1_PERIPH_TICK
// LL_PER0_GRP1_PERIPH_SWD
// LL_PER0_GRP1_PERIPH_CRC
// LL_PER0_GRP1_PERIPH_AES
// LL_PER0_GRP1_PERIPH_GPIOA
// LL_PER0_GRP1_PERIPH_GPIOB
// LL_PER0_GRP1_PERIPH_GPIOC
// LL_PER0_GRP1_PERIPH_GPIOD
// LL_PER0_GRP1_PERIPH_GPIOE
// LL_PER0_GRP1_PERIPH_GPIOF
// LL_PER0_GRP1_PERIPH_GPIOG
// LL_PER0_GRP1_PERIPH_GPIOH
// LL_PER0_GRP1_PERIPH_DMA
// LL_PER0_GRP1_PERIPH_FLASH
//
static inline void LL_PER0_GRP1_ReleaseReset(uint32_t Periphs)
{
//__IO uint32_t tmpreg = 0;
SET_BIT(RCC->PERRSTR0, Periphs);
//tmpreg = READ_BIT(RCC->PERRSTR0, Periphs);
//(void)tmpreg;
}
///
//函 数:
//功 能:外设2模块的总线使能
//输入参 数:
//输出参 数:
//说 明: LL_PER1_GRP1_PERIPH_DAC
// LL_PER1_GRP1_PERIPH_DAC0
// LL_PER1_GRP1_PERIPH_LPTIM1
// LL_PER1_GRP1_PERIPH_UART2
// LL_PER1_GRP1_PERIPH_UART3
//
static inline void LL_PER1_GRP1_EnableClock(uint32_t Periphs)
{
//__IO uint32_t tmpreg=0;
SET_BIT(RCC->PERENR1, Periphs);
//tmpreg = READ_BIT(RCC->PERENR1, Periphs);
//(void)tmpreg;
}
///
//函 数:
//功 能:外设2模块的总线使能
//输入参 数:
//输出参 数:
//说 明: LL_PER1_GRP1_PERIPH_DAC
// LL_PER1_GRP1_PERIPH_DAC0
// LL_PER1_GRP1_PERIPH_LPTIM1
// LL_PER1_GRP1_PERIPH_UART2
// LL_PER1_GRP1_PERIPH_UART3
//
static inline void LL_PER1_GRP1_DisableClock(uint32_t Periphs)
{
//__IO uint32_t tmpreg = 0;
CLEAR_BIT(RCC->PERENR1, Periphs);
//tmpreg = READ_BIT(RCC->PERENR1, Periphs);
//(void)tmpreg;
}
///
//函 数:
//功 能:
//输入参 数:
//输出参 数:
//说 明:
//
static inline uint32_t LL_PER1_GRP1_IsEnabled_Clock(uint32_t Periphs)
{
return (uint32_t)(READ_BIT(RCC->PERENR1, Periphs)== Periphs);
}
///
//函 数:
//功 能:外设2模块的总线强制复位
//输入参 数:
//输出参 数:
//说 明: LL_PER1_GRP1_PERIPH_DAC
// LL_PER1_GRP1_PERIPH_DAC0
// LL_PER1_GRP1_PERIPH_LPTIM1
// LL_PER1_GRP1_PERIPH_UART2
// LL_PER1_GRP1_PERIPH_UART3
//
static inline void LL_PER1_GRP1_ForceReset(uint32_t Periphs)
{
//__IO uint32_t tmpreg = 0;
CLEAR_BIT(RCC->PERRSTR1, Periphs);
//tmpreg = READ_BIT(RCC->PERRSTR1, Periphs);
//(void)tmpreg;
}
///
//函 数:
//功 能:外设2模块的总线释放复位
//输入参 数:
//输出参 数:
//说 明: LL_PER1_GRP1_PERIPH_DAC
// LL_PER1_GRP1_PERIPH_DAC0
// LL_PER1_GRP1_PERIPH_LPTIM1
// LL_PER1_GRP1_PERIPH_UART2
// LL_PER1_GRP1_PERIPH_UART3
//
static inline void LL_PER1_GRP1_ReleaseReset(uint32_t Periphs)
{
//__IO uint32_t tmpreg = 0;
SET_BIT(RCC->PERRSTR1, Periphs);
//tmpreg = READ_BIT(RCC->PERRSTR1, Periphs);
//(void)tmpreg;
}
///
#ifdef __cplusplus
}
#endif
#endif /* HC32L1XX_LL_BUS_H */
HC32L17x的LL驱动库之bus
最新推荐文章于 2024-10-19 12:06:11 发布
该代码片段定义了HC32L1XX微控制器中关于外设时钟控制的宏,包括使能、禁用和复位操作,涉及到的外设包括UART、I2C、SPI、定时器、ADC等。这些宏用于设置和检查RCC寄存器中的相关位,以控制相应外设的电源状态。
摘要由CSDN通过智能技术生成