STM32学习笔记(三)--STM32CubeMX



  • STM32CubeMX入门

    之前在论坛原先的文章了解到了这个软件,觉得很新奇,打算尝试一下,就安装了(安装方法很简单,免费软件)

    最近几天看到实验室的学长也开始用这个软件,并向我推荐使用,于是花了一些时间学习了一下,总体来说,STM32CubeMX可以非常迅速的对STM32进行初始化,大大提高了开发效率,而且配置时钟的可视化界面很能帮助对芯片内部结构的理解,初始化的过程不再需要死记硬背那些库函数(毕竟如果使用的库不同的话,函数名称也会有一点变化)。

    利用STM32CubeMX开发的过程:

    1.新建工程
    在最上面的菜单栏找到“File”,点击,然后选择新建工程

    2.选择芯片型号
    0_1601464828595_6c1feb13-75d4-4766-87ec-9ab25acebb53-image.png
    找到想要的型号,或者直接在左上方的搜索框内搜索。

    3.开始工程
    点击右上角的“start Project”即可开始开发,或者点击旁边的”Datasheet”可以下载该型号芯片的数据手册

    4.配置debug
    0_1601464873909_4864d447-e0e2-4a6f-8dab-4a9f3e46262c-image.png
    如图,以比较简单的STM32F103C8Tx为例,这是开发界面,在上方有Pinout&Configuration,Clock Configuration,Project Manager,Tools。分别是引脚配置,时钟配置,工程管理,工具

    首先,在左边选中SYS,Debug设置为Serial Wire
    0_1601464896050_99a0ff8c-9cb7-4a03-b721-2806caafbc0e-image.png
    最开始使用STM32CubeMX的时候,没有注意到这一点,导致烧录程序之后,SWD和SWCLK两个端口变成了普通的GPIO端口(PA13,PA14),单片机变砖(后来一直按住复位键,重新烧录了一个没有问题的程序,成功解决了(st-link无法烧录,使用了J-link,按住复位键,点击烧录,会弹出一个对话框,点击确定,继续烧录,在通过sw烧录前的一瞬间,松开复位键,将程序成功烧录))

    然后,配置RCC时钟,将高速时钟源调整为外部晶振,若低速晶振也接入了,那么也将低速时钟源调整为外部晶振。

    5.时钟树配置
    点击上方的Clock Configuration,配置时钟树,配置成72MHz,如下图所示
    0_1601464920245_a563c85e-264b-4f57-b5c9-55bd43c785bd-image.png
    6.配置相关外设
    回到Pinout&Configuration,点击引脚可以配置引脚,左边的侧栏可以配置一些功能,比如IIC,CAN,SPI,USB等

    7.工程设置
    在Project Manager中设置工程名,输出格式(可以设置成输出keil工程文件,版本支持keil4,keil5),以及相关输出设置

    8.输出工程

    最近在调试CAN协议,了解了CAN协议的相关初始化的流程之后,利用STM32CubeMX会非常节省时间,开发效率很高,另外,也接触到了STM32的另一种固件库,HAL库(之前一直使用官方的标准库)


 

Copyright © 2018 bbs.dian.org.cn All rights reserved.

与 Dian 的连接断开,我们正在尝试重连,请耐心等待