我是靠谱客的博主 健壮仙人掌,最近开发中收集的这篇文章主要介绍安装 stm32CubeMX,用cubemx完成初始化过程,采用HAL库编程实现一、安装stm32CubeMx二、安装HAL库三、新建项目四、keil仿真调试五、总结六、参考资料,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、安装stm32CubeMx

https://www.st.com/en/development-tools/stm32cubemx.html?sc=stm32cubemx
官网下载
点击Get Software
在这里插入图片描述
点击next,
点击"I accept the terms of this license agreement",接着选择Next,
在这里插入图片描述

勾选第一个就可以
在这里插入图片描述
选择安装位置,注意不要出现中文和空格
点击Next
在这里插入图片描述
点击Next
在这里插入图片描述
在这里插入图片描述
点击Done退出。

二、安装HAL库

HAL是Hardware Abstraction Layer的缩写,中文名称是:硬件抽象层,HAL库工程一般使用Cube软件来生成工程。HAL库是ST公司为STM32的MCU最新推出的抽象层嵌入式软件,更方便的实现跨STM32产品的最大可移植性。优势就是不需要开发工程师再关注所用MCU型号。和标准库对比起来,STM32的HAL库更加的抽象,ST最终的目的是要实现在STM32系列MCU之间无缝移植,甚至在其他MCU也能实现快速移植。
HAL 库相对标准库更加复杂更加繁琐,但是HAL库能够适应不同的st芯片的应用,所以应用能力更加广泛,但是是直接和硬件联系的,所以比起标准库来说,更难上手。
1、打开安装好的STMCubeMx
在这里插入图片描述
2、Help->Manage embedded software packages
在这里插入图片描述
3、勾选上要安装的HAL库, 点击“Install Now”
在这里插入图片描述
安装完成后点击close

三、新建项目

1、点击ACCESS to MCU SELECTOR
在这里插入图片描述
2、part name里选择自己的芯片,点击信息栏中的具体芯片信息选中,点击start project
在这里插入图片描述
3、点击system core,进入SYS,在debug下选择serial wire
在这里插入图片描述
4、配置时钟:点击RCC,有两个时钟,一个是hse和lse,我们要用是GPIO接口,这些接口都在APB2里
在这里插入图片描述
观察时钟架构,APB2总线的时钟由hse控制,把PLLCLK选上
在这里插入图片描述
5、Pinout&Configuration->RCC->hse(Crystal/Ceramic Resonator)
在这里插入图片描述
6、GPIO->从最右边找到自己需要的端口点击GPIO_Output(选PA4、PB9、PC15)
在这里插入图片描述
7、Project Manager->配置路径和项目名,IDE改为MDK-ARM
在这里插入图片描述
8、code generate->生成初始化.c/.h文件选项前打勾->GENERATE CODE
在这里插入图片描述
点击open project就会进入keil5
在这里插入图片描述

四、keil仿真调试

1、打开.uvprojx文件

在这里插入图片描述

2、更改main.c文件

在这里插入图片描述
将以下内容替换到主函数中

SystemClock_Config();//系统时钟初始化
MX_GPIO_Init();//gpio初始化
while (1)
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_RESET);//PA4亮灯
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
HAL_Delay(1000);//延时1s
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_RESET);//PB9亮灯
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_SET);//PC15熄灯
HAL_Delay(1000);//延时1s

HAL_GPIO_WritePin(GPIOA,GPIO_PIN_4,GPIO_PIN_SET);//PA4熄灯
HAL_GPIO_WritePin(GPIOB,GPIO_PIN_9,GPIO_PIN_SET);//PB9熄灯
HAL_GPIO_WritePin(GPIOC,GPIO_PIN_15,GPIO_PIN_RESET);//PC15亮灯
HAL_Delay(1000);//延时1s
}

3、电路连接

USB转TTL模块与芯片连接:
GND——GND 3V3——3V3 TXD——A10 RXD——A9
红灯——B9 绿灯——C15 黄灯——A4
同样要注意上篇提到的烧录要注意的事项

4、效果实现

在这里插入图片描述

5、观察GPIO端口的输出波形

晶振的作用是产生振荡,输出波形。
点击魔术棒->Target->Xtal(MHz)(晶振大小设置为8)
在这里插入图片描述
魔术棒->Debug->Use Simulator->Run to main->左右两边的Diglog DLL和Parameter都进行修改
在这里插入图片描述
调试
在这里插入图片描述
若出现Error: Could not load file ‘CUBE_LEDCUBE_LED.axf’. Debugger aborted !的提示:先点击Translate再点击build。任何汇编想调试都得先编译,再链接,最后调试。
在这里插入图片描述
选择Logic Analyzer
点击Setup Logic Analyzer ->点击右上角小方块->手动添加需要的引脚->Display Type:Bit->Close
在这里插入图片描述
在这里插入图片描述

运行程序:点击Run
在这里插入图片描述
观察波形:
在这里插入图片描述

可能看到的是一条直线,把光标移动到逻辑分析仪显示波形的区域,上下滚动滑轮,就可以放大和缩小波形(才运行时波形有可能有点大,呈直线,缩小就行)。

五、总结

此次实验学习了解到了HAL库,发现用HAL库实现点灯要比keil单独实现要简练,还学会了如何观察波形,接下来仍需要更多的熟悉相关理论知识与代码编写。

六、参考资料

https://blog.csdn.net/weixin_46129506/article/details/120748187?spm=1001.2014.3001.5502#t16
https://blog.csdn.net/geek_monkey/article/details/86291377

最后

以上就是健壮仙人掌为你收集整理的安装 stm32CubeMX,用cubemx完成初始化过程,采用HAL库编程实现一、安装stm32CubeMx二、安装HAL库三、新建项目四、keil仿真调试五、总结六、参考资料的全部内容,希望文章能够帮你解决安装 stm32CubeMX,用cubemx完成初始化过程,采用HAL库编程实现一、安装stm32CubeMx二、安装HAL库三、新建项目四、keil仿真调试五、总结六、参考资料所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部