STM32-CubeMX学习使用记录7-RTC时钟的使用 常用功能:1.获取和设置年月日、时分秒的时钟数据2.闹钟定时报警功能(有中断)3.唤醒功能中断结构框图:1. RTC通常选择HSE作为时钟源,也可以使用LSE或者LSI作为时钟源。(本次使用LSI作为时钟源)。2.RTC时钟源--->精密校准--->7位预分频器(获得512hz频率)---->粗略校准--->15位预分频器(获得1hz频率) 这样就为RTC提供了时钟,数据在影子寄存器中读取。
STM32-CubeMX学习使用记录6-通用定时器的使用 1.stm32通用定时器介绍通用定时器除了基础定时器的功能外,比如定时器中断。增加了输入捕获、输出比较、PWM生成、编码器接口等功能1. 通用定时器中有和的计数器,比如TIM2和TIM5就是32位的计数器。2. STM32F407VET6有10个通用定时器,分别是。3. 基础定时器的只有,通用定时器的计数模式有4. 和基础定时器不同,通用定时器的有四个:4.1:CK_INT4.2:外部输入引脚:TIx4.3: 外部触发输入: ETR,F4仅适用于 TIM2、TIM3 和 TIM44.4。
STM32-CubeMX学习使用记录5-基础定时器的使用 在计数器运行过程中修改自动重装载寄存器的值分为两种情况,这两种情况受到TIMx_CR1 控制寄存器中的ARPE位决定,如果ARPE = 0,则会直接修改自动重装载寄存器。如果ARPE = 1 ,则会将修改后的值存入影子寄存器中,等待更新事件触发后影子寄存器的数据更新到自动重装载寄存器,所以自动重装载寄存器是有预加载的。到达计数器,为计数器提供脉冲开始计数,当计数值到达自动重装载寄存器的数值后,触发一次更新中断,根据工作模式的不同,停止或者不停循环计数触发更新中断。初始化流程和标准库是一样的。
STM32-CubeMX学习使用记录4-外部中断的使用 不是所有的中断线都有自己的ISR中断函数,例如EXTI0-EXTI4,都有自己对应的中断函数EXTIx_IRQHandle,但是EXTI5-EXTI9,共用一个ISR中断函数EXTI9_5_IRQHandle,EXTI10-EXTI15,共用一个ISR中断函数EXTI15_10_IRQHandle。该函数在HAL_Init()中和SystemClock_Config()都初始化过,但是要注意,在SystemClock_Config中才是最终确定的SystemClock的中断间隔。
STM32-CubeMX学习使用记录3-GPIO的使用 开漏输出有着“线与”的特性,简单说就是开漏输出模式的引脚连接到同一根线上,加上拉电阻后,默认就为高电平了,其中有一个引脚为低电平时,所有的引脚电平都被拉低。STM32每组GPIO有16个引脚,不同型号的mcu的GPIO组数不同。开漏输出还可以匹配电压,高阻态引脚接上拉电阻接想要匹配的电压。输出模式:推挽输出、开漏输出、复用开漏输出、复用推挽输出。复用开漏输出、复用推挽输出只是变为了外设输出控制。输入模式:上拉输入、下拉输入、浮空输入、模拟输入。. GPIO的功能:输入、输出、外设复用。
STM32-CubeMX学习使用记录2-CubeMX操作使用 配置好模式框后(这里选择外部时钟源Crystal),右侧芯片会有对应的引脚亮起绿色,黄色的为电源引脚,浅绿色的为单一功能引脚,一般不可使用。在左侧输入自己使用的mcu后,双击右侧的芯片类型或者点击start project即可进入芯片配置界面。点击file选择new project或者直接点击软件中间的基于mcu创建工程,见图1.在引脚、外设、内核、中间件配置下可以配置自己要启动的外设。选择其中的一个外设,以RCC为例,会有模式框与配置框。注意:不同外设配置框与模式框会有不同,需要自己根据需求配置。