嵌入式开发--CubeMX使用入门教程
嵌入式开发–CubeMX使用入门教程
CubeMX简介
传统的单片机开发时,需要针对片上外设做各种初始化的工作,相当麻烦。
CubeMX是ST公司出品的一款图形化代码生成工具,通过图形化界面,可以非常直观的配置好各种片上外设,时钟,中断,DMA等等各种设备的参数,然后CubeMX可以直接生成初始化代码,使得开发人员可以将更多的精力放在核心代码的开发上。
生成的代码选择性适配IAR,KEIL,以及ST自家的STM32CubeIDE(免费)
初始界面
打开软件后就是这个界面
最左边是之前打开过的工程,中间是生成新项目的方式,右边是软件安装选项。
按箭头说明一下:
1:通过选择一款MCU来生成工程,一般用这个。
2:通过选择一款ST的开发板来生成工程,对于手里有ST开发板,想要学习开发板例程的,可以选择这个。
3:通过实例来生成工程,这个实例就是开发板已经实现的例程的名字,比如我想学习SPI接口,那么就可以通过这个打开,然后再选择ST开发板,和第2项是一回事。
4:检查更新
5:安装和删除软件包。每一款单片机都是需要安装对应的支持包才行的,可以从这里安装,删除或更新软件包。
生成工程
下面我们生成一个计算CRC的工程,用到的片子是STM32G030C8T6,配置PA9和PA10为串口。开启串口中断。外部晶振8MHz。将来用KEIL做软件开发。
点击箭头1,来到MCU型号选择界面
在1处输入STM32G030C8T6,前面的STM32也可以不输入。随着我们的输入,右边窗口会逐渐缩小选择范围,如下图,注意键盘要在英文输入状态,中文状态是不行的。
箭头2所指的这个芯片,就是我们所要选择的。
同时还给出了参考单价,芯片封装,FLASH和RAM容量,IO口数量和最高频率等信息,以方便我们选型
确定好芯片以后,双击它,就来到下一个界面。
功能配置界面
它包含4个选项卡,下面我们来一一介绍。
1 引脚和配置
这个界面最常用,左边是配置MCU内核,片上外设,中间件的。
右边可以配置IO口,和引脚复用功能
下面我们点开System Core,并点击SYS,并在新出现的窗口中勾选第1项Serial Wire,的意思是启用SWD调试接口,即可以通过仿真器下载和调试程序。
点击Connectivity,点击USART1,Mode选择Asynchronous,意思是异步串口。其他保持默认。下面的窗口中,通讯速度按需要设置,默认是115200bps,数据位8,奇偶校验无,1个停止位
此时可以看到窗口右边,相关引脚已经变为绿色。可以看到PA9为TX引脚,PA10为RX引脚。
如果PA9必须做别的功能使用,那还有备用引脚可以选择,方法是按住Ctrl,再鼠标左键长按PA9,此时备用引脚会开始闪烁,本芯片的备用引脚只有一个:PB6
左键点击PB6,选择USART1_TX即可将该引脚变为TX功能
配置中断
点击红箭头所指的NVIC Settings
在方框内勾选,即可开启串口中断
开启CRC模块
CRC功能在Computing中配置,但是如果不知道呢,该怎么快速找到呢?
在箭头所指处输入CRC,并回车,注意一定要在英文输入状态,左下就会出现展开CRC所属的Computing的配置项
在下方箭头处勾选,以激活CRC模块
下面的参数按需要设置。
可以设置长度,多项式,初始值,输入是否反转,输出是否反转等。
设置好以后,直接将要计算的数组发给CRC计算单元也就是使用HAL_CRC_Calculate()这个函数,返回值就是我们要计算的CRC值,方便快捷。
有硬件可用就不需要写函数,速度还快,还省空间。
时钟配置
在RCC中选择HSE为外部时钟,即Crystal,意思是外部晶振,下面这两个脚就是晶振引脚,会变绿。
点击下图红箭头,进行时钟配置
选择下图的时钟路线
在箭头处输入64,回车,意思是使用64M的主频,相关的倍频分频参数软件会自动帮我们计算好。
生成代码
在1处输入项目名称
在2处选择工程路径
在3处选择将来要开发的软件,我用Keil所以选择MDK
在Code Generator选项中按下图设置
最后,点击右上角的GENERATE CODE,生成工程,
弹出下面的界面,就表示工程生成好了,点击Open Project就可以打开工程,开始开发了。
嵌入式开发--CubeMX使用入门教程相关推荐
- flex+android+教程,android开发flex4.5入门教程.pdf
android开发flex4.5入门教程 中国矿业大学教务部 教务通知(2013 )第33 号 关于做好各级"大学生创新训练计划" 项目中期检查和结题验收的通知 各学院: 为加强我 ...
- truffle (ETH以太坊智能合约集成开发工具) 入门教程
truffle (ETH以太坊智能合约集成开发工具) 入门教程 前言 在你了解区块链开发之前,你有必要了解区块链的一些基础知识,什么是DApp,DApp与传统app的区别, 什么是以太坊,以太坊中的智 ...
- python全栈工程师 pdf_python全栈工程师项目开发实例实战入门教程百度云
python全栈工程师项目开发实例实战入门教程百度云 课程目录: 开学典礼 pycharm的基本使用 Python基本语法 数值类型数据及运算 字符串的基本操作 字符串的常用方法 列表的基本使用 列表 ...
- 【前端实例代码】Html5+css3创建新拟态新拟物风格(Neumorphism)音乐播放器+注册登录页表单图标网页效果~前端开发网页设计基础入门教程~超简单~
b站视频演示效果: [前端实例代码]Html5+css3创建新拟态新拟物风格(Neumorphism)音乐播放器+注册登录页表单图标网页效果!前端开发网页设计基础入门教程!超简单~ 效果图: 完整代码 ...
- USB2DEMON烧录DBAU1200开发板flash入门教程
//======================================================================== //TITLE: // USB2DEMON烧 ...
- 【前端实例代码】Html5+css3+JavaScript创建在线播放架子鼓电子鼓演奏网页效果!前端开发网页设计基础入门教程!超简单~
b站视频演示效果: [前端实例代码]Html5+css3+JavaScript创建在线播放架子鼓电子鼓演奏网页效果!前端开发网页设计基础入门教程!超简单~ 效果图: 完整代码: <!DOCTYP ...
- 【前端实例代码】Html5+css3创建拟物风格昏昏欲睡的云朵动画网页效果~前端开发网页设计基础入门教程~适合初学者~超简单~
b站视频演示效果: [前端实例代码]Html5+css3创建拟物风格昏昏欲睡的云朵动画网页效果!前端开发网页设计基础入门教程!适合初学者~超简单~ 效果图: 完整代码: <!DOCTYPE ht ...
- 2021最新HarmonyOS鸿蒙系统应用开发之基础入门教程到实战—持续更新(第三节:鸿蒙的技术特征)
第三节:鸿蒙的技术特征 每篇内容都有视频讲解,可直接点击观看+关注,持续更新中 2021最新HarmonyOS鸿蒙系统应用开发之基础入门教程到实战-持续更新(第二节:鸿蒙OS系统分布式操作) 硬件互助 ...
- 要web开发精品教程吗?免费一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放
要web开发精品教程吗?免费无广告一百期连讲的那种-逐浪CMS前端开发100期入门教程全面开放 大师主讲 经验难得 由逐浪CMS首席架构师发哥老师,亲自主理讲解. 历时一年精心打造, 汇聚了互联网诞生 ...
最新文章
- 树莓派第三代跨越发展,采用64位处理器内建WiFi及蓝牙
- 1.8 Java字节流和字符流的区别,如何区分输入流和输出流?
- 禁止修改varchar到int|[运维规范]
- paradox 修改字段长度_400字的作文就只能写400字?刘强东:这不是笑话
- 上班族不知不觉发财的十大秘诀
- 函数名/函数地址/函数指针
- 【数字逻辑设计】卡诺图
- 《天天数学》连载30:一月三十日
- C语言实验报告册-20163a,c语言实验报告册-20163a.doc
- mysql5.7 no password_MySQL5.7.20报错Access denied for user 'root'@'localhost' (using password: NO)
- linq To DataTable
- cocos2d怎么设置屏幕朝向?横屏 or 竖屏设置
- 使用宝塔控制面板建站时出现网页出现404错误怎么办?
- 关于加密与解密、签名与验签
- bat怎么发起网络请求_接口测试实战| GETPOST 请求区别详解
- 六自由度机械臂仿真设计|包括UR5|Puma|victor5|运动学正逆解介绍|MATLAB机器人工具箱|Adams仿真
- 30m土地利用数据集获取大全/植被类型分布/NDVI数据/NPP数据/径流量数据/降雨量气温气象数据/蒸散量数据/太阳辐射数据
- 【漏洞学习——SSRF】七牛某站SSRF可探测内网
- 100个Python实战项目(七)实现摩斯密码翻译器
- 【EXLIBRIS】#小词旮旯# 003 Comrade