其他分享
首页 > 其他分享> > 基于CLion和STM32CubeMX的LED闪烁

基于CLion和STM32CubeMX的LED闪烁

作者:互联网

一、CLion介绍

CLion是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。这种强大的IDE帮助开发人员在Linux、OS X和Windows上来开发C/C++,同时它还使用智能编辑器来提高代码质量、自动代码重构并且深度整合CMake编译系统,从而提高开发人员的工作效率。

二、CLion安装及配置

1. 软件下载

CLion官网链接

https://www.jetbrains.com/clion/download/#section=windows

下载arm-none-eabi-gcc

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

安装到后面的时侯会默认勾选添加路径到环境变量,我们直接过就行

安装完后在命令行输出arm-none-eabi-gcc -v,看到以下信息即代表安装成功

在这里插入图片描述

下载Openocd

https://gnutoolchains.com/arm-eabi/openocd/

在这里插入图片描述

下载之后解压即可

在这里插入图片描述

下载MinGW

https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/

在这里插入图片描述

下载后解压

在这里插入图片描述

2. 环境配置

接下来打开CLion,点击Customize,再点击ALL settings

在这里插入图片描述

找到Build,Execution,Deployment,在Toolchains下将刚刚解压的MinGW加入进去

在这里插入图片描述

找到Embedded Development,将下面两个路径换成自己的即可

在这里插入图片描述

三、实验过程

1. 新建工程

加载完后,点击中间Open with STM32CubeMX启动STM32CubeMX

在这里插入图片描述

进入cubemx后先选择需要的芯片,然后设置串口,将PA1设置为GPIO_outpu,其他设置可参考以前的文章,这里不再赘述。

在这里插入图片描述

设置完后记得将工程目录和名字设置成CLion里一样的(或者设置之后,在Clion里重新打开该cubemx工程),Toolchain/IDE选择SW4STM32。

在这里插入图片描述

生成代码后在CLion中打开,点击trust project后点击OK

在这里插入图片描述

选择st_nucleo_f103rb.cfg

在这里插入图片描述

点击use后,我们发现加载错误,在右上角找到Edit Configuration

在这里插入图片描述

进入之后找到st_nucleo_f103rb.cfg的路径

在这里插入图片描述

找到该文件后,打开它,将第10行注释掉

在这里插入图片描述

2. 代码及编译

接着我们将以下代码加入到mian.c的while(1)中,该代码实现PA1管脚连接LED灯的闪烁

      HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_SET);
      HAL_Delay(500);
      HAL_GPIO_WritePin(GPIOA, GPIO_PIN_1, GPIO_PIN_RESET);
      HAL_Delay(500);

点击右上角的锤子就能进行编译

在这里插入图片描述

编译成功

将刚刚生成的hex文件烧录进芯片

在这里插入图片描述

四、实验结果

在这里插入图片描述

五、总结

CLion是个很方便的软件,不过使用之前需要进行各种环境配置,还可能遇到莫名其妙的错误,比如遇到cmake一直加载错误,无法创建makefiles文件,而环境配置都是对的,此时咱们可以卸了重装。。━━( ̄ー ̄*|||━━

六、参考文献

https://blog.csdn.net/qq_60678931/article/details/121866156

标签:HAL,LED,PIN,STM32CubeMX,点击,https,GPIO,CLion
来源: https://blog.csdn.net/weixin_57770487/article/details/122006868