文章目录:
一:开发板和基础知识理论
1.开发板
2.基础知识理论*
二:CubeMX图形化编程
1.设置时钟(心脏)
1.1 开启RCC功能
1.2 开启RTC功能
1.3 配置时钟树
2.设置端口(五官四肢)
3.工程编译和下载
编译设置
工程编译
三:HAL库的结构和使用
1.HAL库的整体结构
2.HAL库的使用
四:STM32CubeIDE(内含STM32CubeMX代码辅助工具)
1.STM32CubeIDE软件下载安装汉化配置
2.STM32CubeIDE工程建立
主界面
端口与配置界面
时钟设置界面
工程管理界面
编程界面
一:开发板和基础知识理论
1.开发板
2.基础知识理论*
A:HAL库与标准库的关系 HAL库 CubeIDE图形化界面自动生成程序代码 用户不需要了解底层库函数的原理,图形化配置 官方主推HAL库+CubelDE开发环境,不断更新 标准库 用户自行复制/修改程序代码 用户需要了解部分底层函数原理,以方便修改配置 官方已停止更新,稳定性好 B:CubeIDE与KEIL软件的关系 CubeIDE 由ST公司开发,专用于自家的STM系列单片机 只能用于STM32、STM8等ST的单片机开发 集成了图形化界面、编辑器、编译器、仿真器 集成度高,针对STM单片机有优化 支持微软Windows/苹果macOS/Linux多系统 #用CubelDE做HAL库开发:加载库文件、图形化配置、生成代码编辑编译、下载、仿真等功能都在CubeIDE内部无缝完成 KEIL MDK 由ARM公司开发,通用于所有ARM单片机 可用于STM、AT等所有ARM单片机开发 集成编辑器、编译器、仿真器,无图形界面·通用性强,无特别优化 支持微软Windows #用KEIL做HAL库开发:加载库文件、图形化配置、生成代码在CubeMX完成编辑编译、下载、仿真在KEIL完成。不断切换多个软件 C:RCC时钟与延时函数 1.RCC的时钟树 1.1 内核与外设时钟 SYSCLK时钟 HCLK时钟 FCLK时钟 PCLK时钟 ADC功能时钟 1.2 独立时钟 RTC时钟 IWDG独立看门狗时钟 FLASH编程时钟 USB接口时钟 MCO时钟输出:PA8接口被占用 先改成MCO模式——>进入System Core式——>RCC——>勾选Master Clock Output 2.RCC的程序代码 2.1 启动文件中的代码 start_up_stm32fxxx.s文件 2.2 CubeMX生成的代码 main.c里面去跳转 2.3 程序中如何修改时钟设置 stm32fxxx_ex.h 3. HAL库中的延时函数 HAL_Delay (1); //自定义时间
二:CubeMX图形化编程
1.设置时钟(心脏)
1.1 开启RCC功能
禁用:Disable 旁路时钟源:BYPASS Clock Source 晶体与陶瓷振荡器:CrystalCeramic Resonator
1.2 开启RTC功能
1.3 配置时钟树
2.设置端口(五官四肢)
引脚模式设置
3.工程编译和下载
1.编译工程 1.1 生成代码:点击保存或者Device Configuration Tool Code Generation按钮 1.2 编译设置:项目——>属性里面 1.3 工程编译:点击锤子图标进行编译 2.程序下载 2.1 Flymcu下载:使用USB串口下载,USB接口插入串口上 a 连接到电脑的USB接口 连接到核心板的MicroUSB接口 b 安装USB串回驱动的显示:没有就安装CH340驱动程序 c Flymcu软件安装运行:点击要下载的.hex文件 2.2 CubelDE仿真器下载 a ST-LINK仿真器,连接到开发板的JTAG接口 b USB连接到开发板MicroUSB接口进行供电 c 设置JTAG模式:System Core——>SYS—>JTAG d 仿真器设置:点击运行——>运行配置——>STM32 Cortex-M C/C++ Application——>QC_TEST Debug——>调试器——>调试探头ST-LINK——>勾选SWD——>确定 e 点击绿色运行按钮 2.3 ST-LINK Utility软件下载:ST-LINK仿真器,连接到开发板的JTAG接口 a 连接到电脑的USB接口 连接到核心板的MicroUSB接口 b 打开Flymcu软件——>点击清除芯片 c 打开Utility软件——>点击打开图标 选择.hex文件——>点击连接仿真器图标 d 点击下载图标——>设置SWD——>点击OK——>勾选Reset ahtee peogroneing复位——>start 3.修改参数重新下载
编译设置
工程编译
三:HAL库的结构和使用
1.HAL库的整体结构
1.HAL库的整体结构 1.1 文件夹结构 Core 存放着内核代码 Inc:用于存敝各功能的h库文件 Src(main.c):用于存敝各功能的c文件 Starup:用于存放汇编语言的单片机启动文件 Debug 存放着与仿真器调试相关的文件,里面有“.hex”文件 Drivers 存放着HAL库和相关的驱动程序文件 CMSIS:软件接口标准化文件(内核与硬件之间的底层协议) Device:STM32F1单片机的底层库文件 Include:ARM内核与STM32F1单片机硬件之间的底层协议库文件 STM32Fx_Driver:HAL库文件 HAL库各功能的h文件 HAL库各功能的c文件 icode 存放"用户自建"的板级硬件驱动程序 Middlewares 存放着与“中间件”相关的驱动程序文件 USB_DEVICE 存放着USB从设备的驱动程序文件 .project CubeIDE工程的启动文件 .ioc CubeMX图形界面的启动文件 1.2 HAL库文件结构 用户应用程序 功能驱动层HAL库(面向用户) 芯片驱动层HAL库(中间层) 底层HAL库(操作硬件寄存器) 单片机硬件
2.HAL库的使用
2.HAL库的使用 2.1禁用HAL库的方法 CubeMX图形化界面——>Project Manager工程管理——>Advanced Setting高级子选项卡——>勾选Do Not Generate Function 2.2改用LL库的方法 CubeMX图形化界面——>Project Manager工程管理——>Advanced Setting高级子选项卡——>顶部Driver Selector下面——>点击需要修改的功能(可选择HAL库或LL库)
四:STM32CubeIDE(内含STM32CubeMX代码辅助工具)
1.STM32CubeIDE软件下载安装汉化配置
下载:官网下载、博主提供连接直接下载 提取码:1111
汉化:汉化包地址
复制地址(举例):http://mirrors.ustc.edu.cn/eclipse/technology/babel/update-site/R0.19.2/2021-09/ 添加汉化包:打开CubeIDE——>Help——>Install New Software——>Add——>复制上面的地址 Babel Language Packs in Chinese (Simplified)——>勾选一个汉化包
2.STM32CubeIDE工程建立
1.新建工程 文件——>新建——>STM32 Project——>左边MCU/MPU Selector(单片机/微处理器选择器)——>下方Part Number(型号)的下拉列表中——>选择自己芯片的型号(比如STM32F103C8) ——>在右边双击选中正确的型号和封装——>点击下一步 输入工程名称——>去掉勾选Use default location——>设置自己的路径——>点击完成 2.安装HAL库(可能没有) 下拉框中选中版本号(一般选择最新款)——>勾选第三个Copy only the necessary library files代码生成器——>点击完成——>点击是——>HAL库的安装过程(等待几分钟) 在具链项目配置文件中添加要的库文件作创为引用 将所有使用的库复制到项目文件夹t中 只复制需要用到的库文件 3.图形界面 3.1 端口与配置 3.2 时钟设置 3.3 工程管理 3.4 工具 4.编程界面
主界面
端口与配置界面
时钟设置界面
选项卡前出现红叉:有红色背景,表示频率超出范围
工程管理界面
编程界面