STM32CubeMX真的不要太好用

2019-12-12 18:15发布

本帖最后由 tianheiGE 于 2019-3-16 16:47 编辑

由于工作内容的变动,我已经很久没有正经的玩过单片机了,近期又要用它做个小玩意了,还是选 stm32 吧,外设库开发不要太方便,哈哈哈


先去 stm32 社区逛了逛,发现了一个新字眼 STM32CubeMX,简单看了下,大概明白是个 ST 公司新推出的一个配置工具,直接由图形界面简单配置下,生成初始化代码,并对外设做了进一步的抽象,让开发人员更只专注应用的开发,挺不错的样子,下来玩玩。


详细的入门教程我就不写了,网上太多,这里说下我是怎么用它快速的实现了一个虚拟串口终端和点灯吧,也算是入门教程吧,哈哈哈


我需要用的外设有 usb 接口和一个普通的 GPIO,需要使用的中间件库有 FreeRTOS 和 USB_DEVICE,要完成的功能是实现一个虚拟串口,然后适配上 FreeRTOS 的 CLI 制作一个虚拟串口终端,同时让一个 LED 闪烁,这里我选用经典的 STM32F103C8T6 来完成这些。


那让我们开始吧,


第一步,直接打开 STM32CubeMX,在主界面选到 ACCESS TO MCU SELECTOR 开始一个工程,这里需要注意的一点是此时 STM32CubeMX 会去联网检查一些更新,如果你的防火墙是开的话,很可能会检测失败,关掉防火墙就好。


第二步,在 MCU Filters 栏直接输入我们使用的型号,只需要输入 103C8 就找到啦,然后选中它,右边有它的介绍,而且还可以直接下载它的 Datasheet 也不要太方便了,然后点击 Start Project 按钮开始一个工程。


第三步,把我们需要的外设和中间件库选上,有 USB 接口,GPIO 接口,FREERTOS 和 USB_DEVICE 的支持,最后如下图:

qrcode_for_gh_3ec7edacaf5b_258.jpg (44.6 KB, 下载次数: 0) 下载附件 2019-3-16 16:44 上传
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
58条回答
Feeling_MCU
1楼-- · 2019-12-18 01:04
湛无双 发表于 2019-3-17 22:50
最近尝试了下ST公司的那个Atollic的开发环境,就是以前的TrueSTUDIO,用起来感觉还不错,主要是Keil不知道 ...


MDK 编译太卡,CPU100%,Atollic 怎么样?能跟cubemx 搭配用吗?
cloudboy
2楼-- · 2019-12-18 06:36
 精彩回答 2  元偷偷看……
sunnylyvoune
3楼-- · 2019-12-18 12:07
ST 的这个hal library 坑很多的
Doding
4楼-- · 2019-12-18 15:07
yanhaijian2005 发表于 2019-3-20 10:56
STM32CubeMX5的BUG较多,还不如STM32CubeMX4。


MX5的有些代码和MX4不一样,需要自己写,比如RTC的初始化标志,MX4是写BKP里,而且不是用户代码段,MX5写初始化标志要自己搞定,可以用BKP,也可以用其他方法,更灵活了。
yanhaijian2005
5楼-- · 2019-12-18 17:43
Doding 发表于 2019-3-20 15:44
MX5的有些代码和MX4不一样,需要自己写,比如RTC的初始化标志,MX4是写BKP里,而且不是用户代码段,MX5写 ...

比如DMA中断里面中断服务函数也不自动加进去了。
Doding
6楼-- · 2019-12-18 20:50
yanhaijian2005 发表于 2019-3-20 17:23
比如DMA中断里面中断服务函数也不自动加进去了。

要自己实现,自己要写的东西并不多,但自己写更灵活,比如串口DMA发送完成中断里开串口发送完成中断,再在串口中断里设置发送完成标志,就不会出现没发完就关串口的情况。

一周热门 更多>