嵌入式开发--CubeMX使用入门教程

这篇具有很好参考价值的文章主要介绍了嵌入式开发--CubeMX使用入门教程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

嵌入式开发–CubeMX使用入门教程

CubeMX简介

传统的单片机开发时,需要针对片上外设做各种初始化的工作,相当麻烦。
CubeMX是ST公司出品的一款图形化代码生成工具,通过图形化界面,可以非常直观的配置好各种片上外设,时钟,中断,DMA等等各种设备的参数,然后CubeMX可以直接生成初始化代码,使得开发人员可以将更多的精力放在核心代码的开发上。
生成的代码选择性适配IAR,KEIL,以及ST自家的STM32CubeIDE(免费)

初始界面

打开软件后就是这个界面
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

最左边是之前打开过的工程,中间是生成新项目的方式,右边是软件安装选项。
按箭头说明一下:
1:通过选择一款MCU来生成工程,一般用这个。
2:通过选择一款ST的开发板来生成工程,对于手里有ST开发板,想要学习开发板例程的,可以选择这个。
3:通过实例来生成工程,这个实例就是开发板已经实现的例程的名字,比如我想学习SPI接口,那么就可以通过这个打开,然后再选择ST开发板,和第2项是一回事。
4:检查更新
5:安装和删除软件包。每一款单片机都是需要安装对应的支持包才行的,可以从这里安装,删除或更新软件包。

生成工程

下面我们生成一个计算CRC的工程,用到的片子是STM32G030C8T6,配置PA9和PA10为串口。开启串口中断。外部晶振8MHz。将来用KEIL做软件开发。
点击箭头1,来到MCU型号选择界面
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

在1处输入STM32G030C8T6,前面的STM32也可以不输入。随着我们的输入,右边窗口会逐渐缩小选择范围,如下图,注意键盘要在英文输入状态,中文状态是不行的
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

箭头2所指的这个芯片,就是我们所要选择的。
同时还给出了参考单价,芯片封装,FLASH和RAM容量,IO口数量和最高频率等信息,以方便我们选型
确定好芯片以后,双击它,就来到下一个界面。

功能配置界面

cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

它包含4个选项卡,下面我们来一一介绍。

1 引脚和配置

这个界面最常用,左边是配置MCU内核,片上外设,中间件的。
右边可以配置IO口,和引脚复用功能
下面我们点开System Core,并点击SYS,并在新出现的窗口中勾选第1项Serial Wire,的意思是启用SWD调试接口,即可以通过仿真器下载和调试程序。
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

点击Connectivity,点击USART1,Mode选择Asynchronous,意思是异步串口。其他保持默认。下面的窗口中,通讯速度按需要设置,默认是115200bps,数据位8,奇偶校验无,1个停止位
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

此时可以看到窗口右边,相关引脚已经变为绿色。可以看到PA9为TX引脚,PA10为RX引脚。
如果PA9必须做别的功能使用,那还有备用引脚可以选择,方法是按住Ctrl,再鼠标左键长按PA9,此时备用引脚会开始闪烁,本芯片的备用引脚只有一个:PB6
左键点击PB6,选择USART1_TX即可将该引脚变为TX功能
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

配置中断

点击红箭头所指的NVIC Settings
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

在方框内勾选,即可开启串口中断
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

开启CRC模块

CRC功能在Computing中配置,但是如果不知道呢,该怎么快速找到呢?
在箭头所指处输入CRC,并回车,注意一定要在英文输入状态,左下就会出现展开CRC所属的Computing的配置项
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

在下方箭头处勾选,以激活CRC模块
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

下面的参数按需要设置。
可以设置长度,多项式,初始值,输入是否反转,输出是否反转等。
设置好以后,直接将要计算的数组发给CRC计算单元也就是使用HAL_CRC_Calculate()这个函数,返回值就是我们要计算的CRC值,方便快捷。
有硬件可用就不需要写函数,速度还快,还省空间。

时钟配置

在RCC中选择HSE为外部时钟,即Crystal,意思是外部晶振,下面这两个脚就是晶振引脚,会变绿。
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

点击下图红箭头,进行时钟配置
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

选择下图的时钟路线
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

在箭头处输入64,回车,意思是使用64M的主频,相关的倍频分频参数软件会自动帮我们计算好。

生成代码

cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

在1处输入项目名称
在2处选择工程路径
在3处选择将来要开发的软件,我用Keil所以选择MDK
在Code Generator选项中按下图设置
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

最后,点击右上角的GENERATE CODE,生成工程,
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL

弹出下面的界面,就表示工程生成好了,点击Open Project就可以打开工程,开始开发了。
cubemx,嵌入式开发,单片机,stm32,嵌入式硬件,CubeMX,KEIL文章来源地址https://www.toymoban.com/news/detail-848561.html

到了这里,关于嵌入式开发--CubeMX使用入门教程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【嵌入式Qt开发入门】如何使用Qt进行绘制实时图表——QChart 图表

            要想使用 Qt Charts,我们的 Qt 版本得使用 Qt 5.7 之后的版本。其实 Qt Charts 并不是 Qt 5.7 才有的,是在 Qt 5.7 以前只有商业版本的 Qt 才有 Qt Charts。我们能免费下载的 Qt 版本都是社区(开源)版本。         Qt Charts 很方便的绘制我们常见的曲线图、折线图、柱状

    2024年02月12日
    浏览(54)
  • 嵌入式开发----示波器入门

    对于嵌入式工程师来说,示波器的使用极为重要,他就像是“电子工程师的眼睛”,把被测信号的实际波形显示在屏幕上,以供工程师查找定位问题或评估系统性能等,利用示波器能观察各种不同信号幅度随时间变化的波形曲线,还可以用来测试电量,如电压、电流、频率、

    2024年01月18日
    浏览(46)
  • C/C++|物联网开发入门+项目实战|指针|嵌入式C语言高级|C语言内存空间的使用-学习笔记(9)

    参考: 麦子学院-嵌入式C语言高级-内存空间 内存类型资源地址、门牌号的代名词 指针:地址的代名词 指针变量:存放指针这个概念的盒子 *P char *p *p; C语言娟译器对指针这个特殊的概念,有2个疑问? 1、分配一个盒子,盒子要多大? 在32bit系统中,指针就4个字节 2、盘子里存放

    2023年04月22日
    浏览(45)
  • 韦东山嵌入式Liunx入门驱动开发五

    本人学习完韦老师的视频,因此来复习巩固,写以笔记记之。 韦老师的课比较难,第一遍不知道在说什么,但是坚持看完一遍,再来复习,基本上就水到渠成了。 看完视频复习的同学观看最佳! 基于 IMX6ULL-PRO 参考视频 Linux快速入门到精通视频 参考资料 :01_嵌入式Linux应用

    2024年03月08日
    浏览(47)
  • 【嵌入式Qt开发入门】在Ubuntu下编写C++

            在 Ubuntu 上面编写 C++,本文内容主要介绍在 Ubuntu 在终端窗口下使用 vi/vim 编辑一 个 C++源文件。通过编写最简单的示例“Hello,World!”。带领大家学习如何在 Ubuntu 终端下编辑和编译 C++。这里要求大家会在 Ubuntu 上使用 vi/vim,也就是要求大家有一点 Ubuntu 入门的基

    2024年02月11日
    浏览(34)
  • 瑞芯微RK3568开发板保姆级护航入门学习嵌入式

    专为3568编写|迅为原创|拒绝网络拼凑 20+个手册2800+页手册进行结构分层适用于学习与开发 为了方便大家清晰快速的学习,迅为iTOP-3568开发板手册资料全面升级,对手册内容进行了结构分层,共计20+个文档,超2800+页的资料专为iTOP-3568开发板编写。适用于各种层面的学习者学习

    2024年02月14日
    浏览(34)
  • 【嵌入式Qt开发入门】初识Qt——Linux下安装Qt

            Qt 是一个跨平台的 C++开发库。主要用来开发图形用户界面(Graphical User Interface,简 称 GUI)程序。         Qt 虽然经常被当做一个 GUI 库,用来开发图形界面应用程序,但这并不是 Qt 的全部; Qt 除了可以绘制漂亮的界面(包括控件、布局、交互),还包含很多

    2024年02月16日
    浏览(39)
  • C/C++|物联网开发入门+项目实战|空间读写|非字符空间|返回值内部实现|嵌入式C语言高级|C语言函数的使用(2)-学习笔记(12)

    参考: 麦子学院-嵌入式C语言高级-C语言函数的使用 空间的读写 void fun(char *p); const char *p 只读空间,只为了看 char *p;该空间可能修改,几乎都要变 strcpy(); 定义:char *strcpy(char *dest,const char *src); sprintf(); 作用 1、修改 int * short * long * 2、空间传递 2.1 子函数看看空间里的情况

    2023年04月22日
    浏览(52)
  • 【嵌入式系统应用开发】FPGA——HLS入门实践之led灯闪烁

    HLS(High Level Synthesis) :一款高层次综合工具。 能够将 C/C++ 或者 system C 等高级语言转化为 RTL (底层硬件描述语言)电路,降低开发时间。 提供了常见的库(例如图像处理相关的 OpenCv 库和其 它的数学库)。 可以创建IP并通过例化或者使用 BlockDesign 的方式应用到项目中。 转化原

    2024年02月05日
    浏览(56)
  • 【嵌入式Qt开发入门】Qt如何网络编程——获取本机的网络信息

            Qt 网络模块为我们提供了编写TCP/IP客户端和服务器的类。它提供了较低级别的类,例如代表低级网络概念的 QTcpSocket,QTcpServer 和 QUdpSocket,以及诸如 QNetworkRequest, QNetworkReply 和 QNetworkAccessManager 之类的高级类来执行使用通用协议的网络操作。它 还提供了诸如QNet

    2024年02月16日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包