1、首先,打开STM32CubeMX软件,选择从MCU开始我的项目;
2、然后,选择MCU芯片我们本次实验选择STM32F407VET6芯片做MCU,进入工程编辑;
3、最后,设置烧写方式为can模式这一步必须选择一种烧写方式即可。
将下载好的固件库添加到工程目录中,并在工程中添加相应的文件,以闪烁LED灯为例子。新建user、proj文件夹。
复制 STM32Cube_FW_F1_V1.4.0\Drivers\STM32F1xx_HAL_Driver\Inc 里的 stm32f1xx_hal_conf_template.h 到user目录中,并重命名为stm32f1xx_hal_conf.h。
复制 STM32Cube_FW_F1_V1.4.0\Projects\STM32F103RB-Nucleo\Templates\Src 文件夹里面的 stm32f1xx_it.c 以及 STM32Cube_FW_F1_V1.4.0\Projects\STM32F103RB-Nucleo\Templates\Inc 文件夹里面的 stm32f1xx_it.h 到user文件夹中。如果stm32f1xx_it.c 中SysTick_Handler 为空的话,请在该文件的放置头文件的地方添加#include "stm32f1xx.h" 如下图所示:
,
并在SysTick_Handler 函数中添加HAL_IncTick(),如下图所示:
。
新建一个C文件,输入例程。
添加程序代码, STM32Cube_FW_F1_V1.4.0\Drivers\STM32F1xx_HAL_Driver\Src文件夹里面的单片机驱动程序(根据需要添加)、 STM32Cube_FW_F1_V1.4.0\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates 文件夹里面的 system_stm32f1xx.c 、 STM32Cube_FW_F1_V1.4.0\Drivers\CMSIS\Device\ST\STM32F1xx\Source\Templates\arm 文件夹里面的启动文件(根据实际情况添加)、 user 文件夹里面的 stm32f1xx_it.c 和 gpio_demo.c 添加到工程的程序文件如下图所示:
添加的头文件路径如下图所示:
在c/c++编译器选项宏定义一栏中添加STM32F103xE,USE_HAL_DRIVER (查看stm32f1xx.h),如下图所示:
编译
STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。(如,STM32CubeF4 是针对STM32F4系列)。平台包括了STM32Cube 硬件抽象层和一套的中间件组件(RTOS, USB, FS, TCP/IP, Graphics, 等等)。cubeMX的主要优点:
1.直观地进行STM32选择2.图形化配置3.C代码项目产生,涵盖STM32初始化部分。兼容IAR, KEIL和GCC编译器4.支持Eclips。
2.到ST官网下载软件包和cube库,并安装好。安装过程比较简单,不多赘述。
3.点击NEW Project,新建工程,或者file-->new project也可。
4.下面是选择器件板子,可以根据MCU进行选择,也可以根据board型号选择。
5.常用的板子是STM32F411RE,所以产商选择STMicroelectric,版本选择Nucleo,型号选择F4系列,便可看到列表中有F411选项了。
6.双击F411RE,可以进入pinout引脚配置界面,在这个界面可以配置引脚,可以直接在芯片示意图上配置,十分方便。
7.其他的配置选项如图,有时钟配置,外设配置,功耗计算。
8.时钟配置如图,也是图形化界面,很方便快捷就可以配置好,只需要更改数字就可以得到想要的频率。
9.外设的配置如图,只需要双击要配置的外设即可进行配置,比如我配置GPIO,进入后可见如图窗口,可以选择GPIO的模式,上下拉,输出速度。
10.配置完成后,点击生成工程文件按钮,d出工程设置窗口,填写工程名,选择目录,选择编译器,可选EWARM,MDK等。最后点击OK,便可生成工程文件了,用编译器打开后,就可以方便地编写代码了,省去了繁琐的配置工作。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)