本节将介绍如何利用CubeMX配置GPIO为输出模式驱动LED灯
    开发环境:CubeMX+MDK5.27
    芯片型号:STM32F103ZET6
    时间:2020/07/06

    打开CubeMX,如图点击ACCESS TO MCU SELECTOR
    CubeMX1.png
    在弹出的窗口中进行芯片的选型,直接在左侧搜索框中搜索F103ZE,如图所示
    Sel.png
    选择ZETx芯片,双击它即可,这是CubeMX会来到芯片配置界面,如图所示
    Config.png
    该界面依次分为Pinout&Configuration\Clock Configuration\Project Manager\Tools四个部分,第一个界面的功能主要是用于配置STM32的各种外设例如GPIO、USART、ADC、RCC、TIM等。第二个界面则是配置STM32的时钟树。第三个界面是工程的配置。第四个界面是一些工具,可以计算整个工程的功耗。

    下面我们开始配置GPIO,首先查看开发板原理图得知LED0与PB5连接、LED1与PE5连接,因此我们需要配置PB5\PE5为输出模式。在搜索框中输入PB5,此时对应的引脚会不停的切换颜色便于寻找,如图
    PB.png
    在相应的引脚处,左键单击会出现很多选项,我们选择GPIO_Output将GPIO配置为输出模式,此时PB5变成了绿色表面此引脚已进行配置。我们在左侧菜单栏点击System Core找到GPIO并点击它,此时弹出一个界面可以具体配置GPIO的各种参数,如图所示
    GPIO.png
    为了让LED默认为熄灭状态,我们设置第三个参数GPIO output level为High,同时更改User Label为LED0。
    GC.png
    配置好GPIO后,我们需要配置RCC时钟,点击System Core下的RCC选择高速时钟HSE为Crystal/Ceramic Resonator(外部晶振)。
    RC.png
    接下来点击Clock Configuration进行STM32时钟树的配置。具体配置见图
    F103时钟配置.png
    配置完时钟树,我们点击Project Manager设置工程参数,具体配置如图
    PG.png

    点击左侧的Code Generator更改代码生成配置
    1.png
    选择第一个会将所有HAL库函数添加到工程中,选择第二个则只会将用到的HAL库添加到工程中,具体选哪个看个人需求,本次我们选择第一个
    2.png
    勾选第一个选项则会将外设相关代码单独生成一个.c和.h文件,本次我们勾选。
    完成上述步骤,点击GENERATE CODE,生成完毕弹出以下窗口
    3.png
    点击Open Project开始代码编写,点击Application/User目录下的main.c在while(1)循环内添加代码完成流水灯的实现,如图
    4.png
    编译,烧录,实验成功