Clion和STM32CubeMx创建项目

目录

  • Clion和STM32CubeMx创建项目
    • 1、Clion新建项目
    • 2、双击打开STM32CubeMx软件
    • 3、选择自己对应的芯片并打开
    • 4、GPIO设置
    • 4、设置RCC
    • 5、设置时钟
    • 6、配置调试模式
    • 7、工程管理
    • 8、回到Clion软件
    • 9、编写代码

工具Clion和STM32CubeMx

1、Clion新建项目

2、双击打开STM32CubeMx软件

3、选择自己对应的芯片并打开

出现芯片型号选择 一般我们直接搜索自己芯片的型号即可

如果你是设计产品想要选择一款芯片 在搜索栏的下面,提供的各种查找方式,可以选择芯片内核,型号,等等,帮助你找到适合的芯片

具体流程1:

  • 1 搜索芯片型号
  • 2选择芯片
  • 3创建工程

这里我们分成三大块来讲解

1、MCU外设资源选择

在这里可以选择MCU的各种资源和外设

  • Categories 种类选择

将MCU的各种外设和资源分类,供用户选择使用

  • A-Z 顺序选择

MCU的外设资源按A-Z 排序,供用户选择使用

2、外设配置

这里可以设置你所选择外设的各种功能

这里以GPIO为例 我们可以选择输出模式、默认电平

和我们配置库函数的时候基本一样,但是STM32CubeMx将这些转换为了图形和选项,我们配置的时候不用再去配置各种东西,只需要傻瓜式操作便可以配置我们需要的外设 这便是CubeMx的核心所在

3、预览界面

这里分为引脚预览系统预览

引脚预览就是可以查看那个引脚配置了什么功能,和各个引脚位置

随便点击一个引脚,即可设置该引脚的各种功能


这种颜色表示不可配置引脚 电源专用引脚以黄色突出显示。其配置不能更改

这种颜色表示你配置了一个I/O口的功能,但是没有初始化相对应的外设功能 引脚处于no mode 状态

绿色表示配置成功

系统预览

系统预览就是查看配置的各种外设和GPIO的状态

表示没有问题

表示警告,对应配置出现问题 点击该选项即可外设配置界面查看


具体各个功能的配置(UATR/DMA/ADC/TIM…)我们再接下来的文章会一一讲解,这里就不再过多介绍了

4、GPIO设置

因为我们这里用LED,所以还要配置GPIO引脚

  • 起一个别名,宏定义

4、设置RCC

设置高速外部时钟HSE 选择外部时钟源

5、设置时钟

外部晶振为8MHz

  1. 选择外部时钟HSE 8MHz
  2. PLL锁相环倍频72倍
  3. 系统时钟来源选择为PLL
  4. 设置APB1分频器为 /2
  5. 这时候定时器的时钟频率为72Mhz

32的时钟树框图 《【STM32】系统时钟RCC详解(超详细,超全面)》

6、配置调试模式


ST-Link 就是 Serial Wire 调试模式,一定要设置!!!
如果不配置 Serial Wire 模式,程序一旦通过 ST-Link 烧录到芯片中,芯片就再也不能被ST-Link 识别了。
ST-Link V2烧录问题(已解决)

7、工程管理

设置完MCU的各个配置之后,第三个就是工程文件的设置了

  • 设置项目名称
  • 设置存储路径
  • 选择所用IDE(这里用的是Clion,所以用STM32CubeIDE或者SW4STM32都可以)

将HAL库的所有.C和.H都复制到所建工程中

优点:这样如果后续需要新增其他外设又可能不再用STM32CubeMX的时候便会很方便

缺点: 体积大,编译时间长(很长)

只复制所需要的.C和.H (推荐)

优点:体积相对小,编译时间短,并且工程可复制拷贝

缺点: 新增外设时需要重新用STM32CubeMX导入

不复制文件,直接从软件包存放位置导入.C和.H

优点:体积小,比较节约硬盘空间

缺点: 复制到其他电脑上或者软件包位置改变,就需要修改相对应的路径

自行选择方式即可

具体流程5:

然后点击上方GENERATE CODE 创建工程

8、回到Clion软件

选择自己的配置文件

我这里是自定义配置文件,自己新建一个cfg文件:st_my_F1_stlink-v2.cfg

source [find interface/stlink-v2.cfg]transport select hla_swdsource [find target/stm32f1x.cfg]

(7条消息) 基于Clion IDE + STM32CubeMX搭建STM32开发环境(详细介绍搭建过程)_Ch_champion的博客-CSDN博客_clion搭建stm32开发环境

9、编写代码

在main.c主函数中的while循环加入下面代码

while (1) {/* USER CODE END WHILE *//* USER CODE BEGIN 3 *//*0 为灭 1为亮*/HAL_GPIO_WritePin(LED_PIN_GPIO_Port, LED_PIN_Pin, 0);HAL_Delay(50);HAL_GPIO_WritePin(LED_PIN_GPIO_Port, LED_PIN_Pin, 1);HAL_Delay(50);
}

Clion和STM32CubeMx新建项目相关推荐

  1. RT-Thread 应用篇 — 在STM32L051上使用 RT-Thread (一、无线温湿度传感器 之 新建项目)

    学完了 RT-Thread 内核基础,来使用 RT-Thread 实现一个小应用. 硬件平台:STM32L051C8 TCM310(Enocean无线芯片) 软件平台:RT-Thread Studio ...

  2. 在VS中,如何新建项目,如何添加类库

    学习了C#基础后就自己做了一个小小的qq空间,感觉挺好的.之后,由于团队需要被分配到测试方面去了,虽然测试时会看C#代码,但终究不是自己写的,没有那种深究的热情,尽管师兄说,看代码是最快提升的方法,因 ...

  3. Qt新建项目No valid kits found解决思路

    Qt新建项目No valid kits found解决思路 第一次用Qt Creator创建Project时,进入Kit Selection窗口后,会提示No Valid kits found. Pl ...

  4. IntelliJ idea 新建项目并导入netty(转)

    转自:https://blog.csdn.net/chen_xi_hao/article/details/79431756 前言 笔者的主要技能是移动端开发,eclipse和android studi ...

  5. svn 提交到远程仓库_Linux学习16gitlab新建项目提交代码

    前言 gitlab前面已经搭建好了,如果我们想用把代码上传到gitlab仓库上的话,先要新建一个项目仓库.然后本地安装git环境,就可以提交了 root用户 gitlab首次在浏览器上打开web页面, ...

  6. clion浏览linux代码,手把手教你使用 Clion 开发 Linux C++ 项目

    手把手教你使用 Clion 开发 Linux C++ 项目 关于CLion CLion是一款专为开发C及C++所设计的跨平台IDE.它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员 ...

  7. 微信小游戏开发教程-新建项目

    微信小游戏开发教程-新建项目 1. 新建小游戏项目 我们这回使用空项目,不要勾选使用模板创建. 2. 添加小游戏必要文件 项目创建好以后我们发现缺少一些必要的文件,我们手动添加即可: game.jso ...

  8. 如何解决Win10不能新建项目的问题?

    如何解决Win10不能新建项目的问题? 参考文章: (1)如何解决Win10不能新建项目的问题? (2)https://www.cnblogs.com/haoxitong/p/9556065.html ...

  9. 解决pycharm新建项目后按钮灰色问题

    解决pycharm新建项目后按钮灰色问题 参考文章: (1)解决pycharm新建项目后按钮灰色问题 (2)https://www.cnblogs.com/maggie-zhang/p/1104575 ...

最新文章

  1. http状态404 vscode_VS Code 调试完全攻略(5):基于浏览器的 React 应用
  2. 25个常用Matplotlib图的Python代码,收藏收藏!
  3. UICollectionView的使用
  4. SAP不同的产品是如何支持用户创建自定义字段的
  5. ASP.NET Core 启动方式(Hosting)
  6. keep老是显示服务器开小差,nginx+keepalived高可用服务器宕机解决方案
  7. yii2通过url访问类中的方法_行为型设计模式 访问者模式
  8. zouxy09博客原创性博文导航
  9. java远程执行命令报错java.io.IOException: Cannot run program “ifconfig“: error=2, No such file or directory
  10. 2022年湖北大学招生简章--成人高等教育高起专、专升本学历提升
  11. Python漫画下载器V2,进行更好的封装,更高效的多线程与刷新机制
  12. 别踩白块游戏java项目总结_学习小游戏别踩白块总结
  13. java 操作日志 log
  14. nexrcloud 自动上传_Nextcloud默认文件的自定义
  15. 内存管理Memorynbsp;OC——第九天
  16. oracle 报12560,UNIX系统中Oracle报TNS-12560错误的解决思路
  17. 可解释知识追踪(整理更新)
  18. scipy在控制理论的应用
  19. 【转载】Windows下Tesseract4.0识别与中文手写字体训练
  20. 【Python3.6】生成微信好友个性签名词云

热门文章

  1. 一文搞懂组合逻辑电路
  2. 数据仓库系列2-数据仓库建模介绍
  3. Java学习记录(Day4)
  4. 克拉默法则C语言编程,FORTRAN编程:克拉默法则解线性方程组
  5. oracle 19c 静默安装
  6. 标签平滑 Label smoothing / Temperature Softmax
  7. Uipath实现简单的滑块拖动验证
  8. YCbCr444转YCbCr422
  9. python slots初探
  10. 美国服务器网站怎么黑屏了,关于美国服务器IP的常见问题的详细解答!