STM32CubeMX工程配置说明

一、STM32CubeMX配置

1.1 设置时钟

单片机的时钟,相当于人的心跳。只要单片机工作,必须要开启时钟!

STM32单片机共有4个时钟来源:

|-----------|-----|----------|-------------|-------|----------|---------|
| 名称 | 缩写 | 频率 | 外部连接 | 功能 | 用途 | 特性 |
| 外部高速晶体振荡器 | HSE | 4~16MHz | 4~16MHz晶体 |   | 系统时钟/RTC | 成本高,温漂小 |
| 外部低速晶体振荡器 | LSE | 32KHz | 32.768KHz晶体 | 带校准功能 | RTC | 成本高,温漂小 |
| 内部高速RC振荡器 | HSI | 8MHz | 无 | 经出厂调校 | 系统时钟 | 成本低,温漂大 |
| 内部低速RC振荡器 | LSI | 40KHz | 无 | 带校准功能 | RTC | 成本低,温漂大 |

HSI和LSI都是内置在单片机中的RC时钟源,在未开启HSE和LSE时,单片机默认使用两个内部时钟源。

高速(HS)时钟和低速时钟(LS)的区别:

  • 高速时钟(HS):是提供给单片机系统内核的主频时钟
  • 低速时钟(LS):是提供给RTC实时时钟功能的

1.1.1界面说明

  • 黄色VBAT:表示不可配置引脚,电源专用引脚以黄色突出显示,其配置不能修改
  • 绿色:表示配置成功
  • 橙绿色NRST:表示配置了一个I/O口的功能,但是没有初始化相对应的外设功能,引脚处于no mode状态
  • 灰色:可配置引脚

1.1.2开启RCC功能

  • 旁路时钟源:具有独立输出时钟脉冲的外围电路,一般指有源晶振
  • 晶体/陶瓷振荡器:无源石英晶体元件或无源RC震荡元件,这些元件不能像有源晶振一样直接输出频率脉冲,只能被动的连接到单片机上,组成单片机的时钟外围电路。
  • 禁用:只能使用HSI或LSI的单片机内部时钟

1.1.3开启RTC功能

其他的保持默认即可。

1.1.4配置时钟树

  • 时钟树视图可以分为三部分:时钟输入源、选择器/分频器/倍频器、最终设定的频率
  • 左边的时钟输入源部分:HSE和LSE可以在RCC和RTC功能中开启或关闭,如果开启HSE功能,时钟源4的晶振频率可在4~16MHz之间修改(结合PCB,设置默认的8MHz即可)。
  • 中间的部分:
    • 选择器:可以切换线路连接的开关,可以选择不同的输入信号
    • 分频器:可以将频率数值按比例相除,假如输入的频率为8,经过的分频器为/2,则输出频率则为4
    • 倍频器:将频率数值按比例相乘,假如输入频率为8,经过X9的倍频器,则输出频率为72

入门学习可将各功能设置为最大频率,展现出单片机的最高性能,日后涉及到低性能/低功耗要求时,可以随机应变地修改时钟数。

1.2 设置端口

时钟设置好之后,单片机就能按一定频率运行了。

开启时钟功能后,自动完成的端口模式与参数设置:外部晶振输入

1.2.1 引脚模式设置

STM32F103C8T6开发板板载LED:

设置PC13引脚:

1.2.2引脚参数设置

如果端口用于数据通信,可选择High(高速),PWM调光

如果用于不常变化的场合,可选择Low(低速)或中速

1.2.3 按开发板电路图设置全部引脚

结合电路原理图的功能进行配置。

二、电路板载LED

工程配置:

选择对应的HAL固件库版本

程序下载和调试配置:

输出代码:

cpp 复制代码
// 在main()函数中添加 
while (1)
  {
    /* USER CODE END WHILE */

    /* USER CODE BEGIN 3 */
    HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);
    HAL_Delay(100);
  }
  /* USER CODE END 3 */

三、HAL库的整体结构

相关推荐
智感子4 小时前
测控链路:从传感器到上位机
人工智能·嵌入式硬件·fpga开发
新晨单片机设计5 小时前
S021A-基于STM32单片机自动追光系统(步进电机)【Proteus仿真+Keil程序+原理图】
stm32·单片机·proteus·自动追光系统
恒锐丰科技林技术员8 小时前
EG2129 带过流保护全桥驱动芯片解析
经验分享·嵌入式硬件·硬件工程
zhangzhangkeji9 小时前
stm32 12-2-3 :bkp 备份寄存器和 rtc 实时时钟,原理与代码
stm32
女神下凡10 小时前
芯参谋(43):DDR4_电路设计指南
arm开发·单片机·嵌入式硬件·设计规范
电子元器件选型哥11 小时前
MOS管驱动电阻怎么选?阻值大小到底影响什么?
单片机·嵌入式硬件·硬件工程师·半导体·电子元器件
lhbweilai11 小时前
深挖FreeRTOS内核实现(三)
c语言·stm32·单片机
白搞电子11 小时前
ESP32-S31 上做可在线安装的 WASM 应用平台:0.4.9 Beta 发布
单片机·嵌入式硬件·物联网
水果里面有苹果11 小时前
48-AS5600旋转磁编码器
嵌入式硬件
iCxhust12 小时前
8088的nmi中断能关闭吗?
嵌入式硬件·8088单板机