文章目录:
一:开发板和基础知识理论
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 Output2.RCC的程序代码2.1 启动文件中的代码start_up_stm32fxxx.s文件2.2 CubeMX生成的代码main.c里面去跳转2.3 程序中如何修改时钟设置stm32fxxx_ex.h3. 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—>JTAGd 仿真器设置:点击运行——>运行配置——>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复位——>start3.修改参数重新下载
编译设置
工程编译
三: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 Function2.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.编程界面
主界面
端口与配置界面
时钟设置界面
选项卡前出现红叉:有红色背景,表示频率超出范围
工程管理界面
编程界面