本帖最后由 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 上传
MDK 编译太卡,CPU100%,Atollic 怎么样?能跟cubemx 搭配用吗?
MX5的有些代码和MX4不一样,需要自己写,比如RTC的初始化标志,MX4是写BKP里,而且不是用户代码段,MX5写初始化标志要自己搞定,可以用BKP,也可以用其他方法,更灵活了。
比如DMA中断里面中断服务函数也不自动加进去了。
要自己实现,自己要写的东西并不多,但自己写更灵活,比如串口DMA发送完成中断里开串口发送完成中断,再在串口中断里设置发送完成标志,就不会出现没发完就关串口的情况。
一周热门 更多>