概述
一、安装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仿真调试五、总结六、参考资料所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复