• STM32cubeMX配置

RCC时钟配置

RCC时钟配置,G431嵌入式板子自带24Hz外部晶振所以选择外部晶振寄存器

注:24Hz外部时钟资源需要自己填入选择高速外部时钟HSE,选择PLLCLK将这个频率引入全局主频。

注:最后得到是80MHz

CubeMX中RTC部分ALarmA cubemx rcc配置_单片机

CubeMX中RTC部分ALarmA cubemx rcc配置_嵌入式硬件_02

LED灯引脚配置

CubeMX中RTC部分ALarmA cubemx rcc配置_嵌入式硬件_03

由此可见8个灯共阳,负极端连接锁存器,因此控制低电平给负极即可,控制时需要开启PD2(给高电平即可),如果我们要让LD1亮,需要让PD2高电平,PC8低电平,然后PD2低电平即可。

注:编程时如果不关掉PD2会导致灯异常,原因是LCD的引脚也会控制到上述引脚,所以进行操作完要注意关闭锁存器使能。

注:使用锁存器是为了和LCD引脚复用,在微小一段时间就可以对锁存器操作保存引脚的电位,可以做到不影响LCD的显示,是一个精妙的设计。

CubeMX中RTC部分ALarmA cubemx rcc配置_单片机_04

引脚分别选择输出,设置默认即可,默认推挽输出不用修改。

LCD灯引脚配置

CubeMX中RTC部分ALarmA cubemx rcc配置_stm32_05

按键引脚配置

板子采用4按键,分别使用PA0、PB0、PB1、PB2。易知按键按下接地,否则接VDD,所以在检测引脚时,应当是引脚输入低电平为按键按下。

CubeMX中RTC部分ALarmA cubemx rcc配置_引脚_06

CubeMX中RTC部分ALarmA cubemx rcc配置_单片机_07

数模转换引脚配置

CubeMX中RTC部分ALarmA cubemx rcc配置_CubeMX中RTC部分ALarmA_08

板子上R37、R38旋钮式滑动变阻器,分别通过短接冒接入PB15、PB12,所以我们使用AD转换采集资源。

根据上述原理图操作打开对应引脚资源,进行如下配置:

CubeMX中RTC部分ALarmA cubemx rcc配置_CubeMX中RTC部分ALarmA_09

CubeMX中RTC部分ALarmA cubemx rcc配置_单片机_10

CubeMX中RTC部分ALarmA cubemx rcc配置_CubeMX中RTC部分ALarmA_11

CubeMX中RTC部分ALarmA cubemx rcc配置_嵌入式硬件_12

CubeMX中RTC部分ALarmA cubemx rcc配置_单片机_13

 

CubeMX中RTC部分ALarmA cubemx rcc配置_单片机_14

注:选择异步时钟分频不限,图中选择2分频,其他设置默认即可。

注:打开数模转换的中断选择中断读。

输入捕获定时器引脚配置

CubeMX中RTC部分ALarmA cubemx rcc配置_引脚_15

如图所示三五振荡器生成波形,其中电阻是旋钮式滑动变阻器,可以通过改变电压改变波形,最后输出通过J9短接冒接PB4,所以我们PB4使用定时器资源,定时器使用输入捕获功能。通过上升沿下降沿判断的定时器的计数,通过计算算出占空比和频率。

以下是定时器配置,两者配置一样,图中只配一次。

注:输入捕获功能需要使用输入捕获中断回调函数,在回调函数中记录每秒上升沿数量,计算波频,所以一定要开启中断。

注:使用俩个通道,通道一的输入捕获上升沿进入中断,通道二输入捕获下降沿进入中断,所以通道二只能在上升沿与最近一次下降沿之间进行计数。所以通道二比通道一计数等于占空比。

CubeMX中RTC部分ALarmA cubemx rcc配置_CubeMX中RTC部分ALarmA_16

CubeMX中RTC部分ALarmA cubemx rcc配置_stm32_17

 

CubeMX中RTC部分ALarmA cubemx rcc配置_CubeMX中RTC部分ALarmA_18

注:通道一直接输入捕获,触发条件上升沿,通道二间接,触发条件下降沿。

CubeMX中RTC部分ALarmA cubemx rcc配置_单片机_19

板子的串口和下载线集成了,默认使用串口一PA9、PA10。使用异步时钟,要开启中断。

CubeMX中RTC部分ALarmA cubemx rcc配置_嵌入式硬件_20

 

CubeMX中RTC部分ALarmA cubemx rcc配置_单片机_21

CubeMX中RTC部分ALarmA cubemx rcc配置_嵌入式硬件_22

CubeMX中RTC部分ALarmA cubemx rcc配置_嵌入式硬件_23

基础定时器配置

基础定时器TIM6,需要开启中断,为了实现系统中定时出发的功能。

注:主频80MHz分频(7999+1) 重装载(999+1)等于定时器10Hz触发中断,0.1秒触发中断。参数可修改。

CubeMX中RTC部分ALarmA cubemx rcc配置_嵌入式硬件_24

CubeMX中RTC部分ALarmA cubemx rcc配置_嵌入式硬件_25

RTC时钟配置

RTC时钟是单片机内部所自带时钟,即实时时间时钟,字面意思用于记录现实时间,配置如下:

以现实时间2023年4月18日23时38分星期二为例配置时钟。

注:RTC选中HSE_RTC时钟资源,配置频率750kHz所以分频(74+1)重装载(9999+1),所以当RTC重装载一次是一秒钟一次(1Hz),同时也规定秒针的单位是1秒。

CubeMX中RTC部分ALarmA cubemx rcc配置_CubeMX中RTC部分ALarmA_26

CubeMX中RTC部分ALarmA cubemx rcc配置_单片机_27

CubeMX中RTC部分ALarmA cubemx rcc配置_stm32_28

Cube生成底层文件

CubeMX中RTC部分ALarmA cubemx rcc配置_嵌入式硬件_29

CubeMX中RTC部分ALarmA cubemx rcc配置_CubeMX中RTC部分ALarmA_30