使用vscode搭建 STM32 Arduino集成开发环境

                          (一)STM32 Arduino集成开发教程

       有的时候我们使用stm32开发可能会遇到一些时间上的问题,比如需要快速开发,奈何使用keil+标准库/HAL/LL库不能很快的实现我们的逻辑验证,或者快速实现我们需要的功能。作为一个工作了5年多的嵌入式工程师,我有的时候是很不喜欢用Arduino开发的,这会很大程度的降低我们底层驱动的编写能力,但是对于不是特别懂单片机,或者只是稍微了解一点的人来说,想要开发一个属于自己的功能,还是很简单的。

使用vscode搭建 STM32 Arduino集成开发环境

       Arduino可以更简单的说,是一个开发框架,继承了很多种单片机的开发框架,它的兼容性很高,可以适配很多开发板或者芯片。对于初学者来说,极易掌握,同时有着足够的灵活性。Arduino语言基于wiring语言开发,是对 avr-gcc库的二次封装,不需要太多的单片机基础、编程基础,简单学习后,你也可以快速的进行开发。而且简单的开发方式使得开发者更关注创意与实现,更快的完成自己的项目开发,大大节约了学习的成本,缩短了开发的周期。对于一些嵌入式爱好者来说可能大部分人都会Arduino。相对于复杂的STM32寄存器或者寄存器来说,使用Arduino框架还是很容易上手的。网络上关于Arduino的资料,很多人还是比较容易能找到例程的。

      vscode可能很多人第一眼看上去又熟悉又陌生,是不是很像visual studio ,那是因为这是微软开发的编辑器,是一款轻量级的编辑器,安装包非常小,而且启动速度非常快。虽然这对实际的项目没什么大的帮助,但是可以在无形间提高我们的用户体验。而且有着非常丰富的插件系统,无论你是使用STM32、STM8、AVR、MSP430、ESP8266、ESP32等,我们都可以找到相对应的插件,让我们如虎添翼,更快速地完成项目。集成化的开发环境,对于拿到手的开发板来说也是很容易上手。

       不多说了,下面我就带大家来安装一下开发需要的集成开发环境。

 

  • 首先我们需要下载vscode开发环境,根据你的系统直接在官网下载就可以了

       https://code.visualstudio.com/

  • 打开软件,需要安装几个插件“C/C++”,“PlatformIO IDE”,重点来了,这个PlatformIO IDE就是这次的重点,也就是靠它,我们实现了使用Arduino集成开发大部分的芯片。安装可能需要一点时间,耐心等待一下。

 环境到这一步我们基本就已经搭建好了,接下来就是安装编写STM32需要的固件库支持。

  • 重新打开软件以后,会自动弹出来PlatformIO的界面,如果你打开的跟我一样,那么恭喜你就可以正式开始了。

  • 我们创建一个STM32的工程,也是预下载编写需要的固件库。在右侧的Quick Access下选择“+ New Project”,来创建一个工程。Name是创建的项目名称,Board选择我们需要的开发板,这里我选择的是STM32F103C8T6,基于的开发固件Framework选择Arduino。下面的Location:Use default location 是选择我们项目的保存地址,这个地方我习惯了默认,你们也可以取消勾选,选一个自己喜欢的地方存储项目。这一步就是需要下载安装固件,我们耐心等待一下。需要十几分钟的时间。

  • 接下来我们在窗口的下面选择编译按钮“√”来进行编辑检查项目是否创建成功,如果弹出来下面的提示就说明,我们的环境已经搭建好了。如果不下载只编译的话可以点编译按钮,如果是需要下载的话就可以直接点编译下载按键。点击编译按钮以后,如果你们出现了跟我一样的“SUCCESS”,就说明,工程我们已经创建工程,并且编译没有报错。在下面我们还能看到

       RAM:  [          ]   3.8% (used 780 bytes from 20480 bytes)
       Flash: [=         ]   9.5% (used 6244 bytes from 65536 bytes)

      这两行就是我们这款单片机的RAM以及flash的使用情况了。

      接下来我们就可以正式的开始编写Arduino风格的STM32代码啦!

 整个基于vscode 编辑器的stm32 Arduino开发环境我们就已经安装好了,接下来我会一步一步的带大家使用Arduino开发STM32。

版权声明:如无特殊标注,文章均来自网络,本站编辑整理,转载时请以链接形式注明文章出处,请自行分辨。

本文链接:https://www.shbk5.com/dnsj/74197.html