【二】零基础上手HAL库之—熟悉Cubemx软件的框架

【二】零基础上手HAL库之—熟悉Cubemx软件的框架 在完成了Hal库开发环境的搭建后,就是要开始使用此工具了,那么我们肯定有一些必要的准备工作要进行,本节内容仅仅讲解软件各个模块的功能,想要用好软件,第一步当然就是大体上的熟悉软件创建一个工程。如果还没搭建好环境可以看上一节内容:
2.1 前期准备

  • Stm32f103Rct6芯片的板子
  • Keil5软件
  • 以及上一节内容安装好的开发环境(Cubemx、JRE、Hal包)
【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

点击打开软件可以得到如下界面:
【【二】零基础上手HAL库之—熟悉Cubemx软件的框架】【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

  • ①创建,打开,导入项目等操作。
  • ②调整窗口大小,以及输出值的一些操作。
  • ③更新软件,以及一些文献资料查找。
  • ④通过芯片类型创建一个项目
  • ⑤通过板子类型创建一个项目
  • ⑥查找一个例程
【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

点击主界面④框选的部分,开始通过芯片类型创建一个工程
【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

  • ①搜索所需要的芯片。
  • ②内核类型。
  • ③芯片系列。(F1/F4/F7等等)
  • ④芯片系列细分。(103/100等等)
  • ⑤芯片封装类型。
  • ⑥其他(芯片的主频,Rom,Flash等等)
  • ⑦外设资源。
  • ⑧通过筛选后的芯片。
【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

双击选取芯片界面中⑧框选的部分,一个根据芯片类型的工程创建完成,可以看到如下工程界面,此界面大致可以分成如下四块用于配置芯片。
【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

  • ①Categories(种类)根据外设的种类来选择配置的外设。
  • ②A->Z(序号)根据外设首字母序号来选择配置的外设。
  • ③外设模式的配置以及此模式下的详细参数配置。
  • ④芯片引脚配置详情,绿色表示已经使用
【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

点击Clock Configuaration进入时钟树配置界面,学过stm32标准库的都应该很清除这个时钟树,我们先知道有这个东西,下一节会讲到这部分内容。
【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

点击Project Manager进入项目配置界面,
【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

①项目名称(尽量不要用中文)。
②项目地址(注意注意!!!! 一定不要有中文名路径)。
③编译代码所用的IDE开发(我一般使用Keil进行)。
④堆栈大小的设置(一般使用默认即可)。
⑤芯片类型(一定要和所使用的芯片对应上)。
⑥固件包版本(不同的版本会有些许差异,但最新版准没错)。
【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

点击Code Generator 选项卡,后可见如下界面:
【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

  • ①复制所有的软件包到工程中。
  • ②复制所需的软件包到工程中。
  • ③不复制文件,从固件包位置引用相关的文件到工程中(见上一步固件包的默认位置)。
  • ④按照类型给每个外设设立独立的源文件(.c)和头文件(.h)。
  • ⑤重新生成时备份上一次产生的文件(有错误时,可以还原上一版本)。
  • ⑥重新生成时保留用户区的代码。
  • ⑦重新生成时删除原有的文件。
  • ⑧没使用的引脚设置为模拟状态引脚。
【二】零基础上手HAL库之—熟悉Cubemx软件的框架
文章图片

  • ①驱动库选择可以是HAL库和LL库,不知道二者区别可以看之前内容
  • ②是否调用初始化函数,也就是你代码是否调用对应初始化函数。
    比如:你GPIO项勾选Not Generate Function Call,你main.c函数中就不会调用MX\_GPIO\_Init这个函数。
  • ③是否声明为static静态内链接函数,也就勾选时在外文件不能调用此函数。

    推荐阅读