使能寄存器,复位和时钟单元(RCU)和中断选择向量(nvic)


前言

RCU 是复位和时钟单元,复位控制包括三种控制方式:电源复位、系统复位和备份域复位。时
钟控制单元提供了一系列频率的时钟功能。章节3.19.1描述了RCU 的寄存器列表,章节3.19.2
对 RCU 库函数进行说明。


一、stem32的3个使能寄存器

在这里插入图片描述
1表示使能
在这里插入图片描述
在这里插入图片描述
PFEN F端口的pin enable
GPIO 端口 F 时钟使能
在这里插入图片描述

二、RCU常见的库函数

rcu_periph_clock_enable():使能外设时钟

void rcu_periph_clock_enable(rcu_periph_enum periph);
periph:RCU_AF  RCU_GPIOX  RCU_USART0  RCU_I2C0  RCU_CAN0

/* enable the USART0 clock */
rcu_periph_clock_enable(RCU_USART0);

rcu_periph_reset_enable():使能外设复位

void rcu_periph_reset_enable(rcu_periph_reset_enum periph_reset);
/* enable SPI0 reset */
rcu_periph_reset_enable(RCU_SPI0RST);

rcu_system_clock_source_config():配置选择系统时钟源

void rcu_system_clock_source_config(uint32_t ck_sys);
/* configure the CK_HXTAL as the CK_SYS source */
rcu_system_clock_source_config(RCU_CKSYSSRC_HXTAL);

rcu_system_clock_source_get():获取系统时钟源选择状态

uint32_t rcu_system_clock_source_get(void);
uint32_t temp_cksys_status;
/* get the CK_SYS source */
temp_cksys_status = rcu_system_clock_source_get();

三、NVIC常见的库函数

在这里插入图片描述
在这里插入图片描述

nvic_priority_group_set( ):配置优先级组的位长度

void nvic_priority_group_set(uint32_t nvic_prigroup);
/* priority group configuration , 0 bits for pre-emption priority 4 bits for subpriority */
nvic_priority_group_set(NVIC_PRIGROUP_PRE0_SUB4);

在这里插入图片描述

nvic_irq_enable( ):使能中断,配置中断的优先级

void nvic_irq_enable(uint8_t nvic_irq, uint8_t nvic_irq_pre_priority, uint8_t 
nvic_irq_sub_priority);
nvic_irq:EXTI0_IRQn  EXTI5_9_IRQn  USART0_IRQn    
/* enable window watchDog timer interrupt , pre-emption priority is 1, subpriority is 1 */
nvic_irq_enable(WWDGT_IRQn,1,1);

)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值