嵌入式系统开发环境的构建11:构建PlatformIO开发环境

本系列教程将向大家讲述,在自己的计算机上构建完善的嵌入式系统开发环境的方法。

本文将向大家讲述构建PlatformIO开发环境的方法。

PlatformIO简介:

PlatformIO 是开源的物联网开发生态系统。提供跨平台的代码构建器、集成开发环境(IDE),兼容 Arduino,ESP8266和mbed等。支持在Windows、Linux、macOS上使用预编译好的工具链,调试器和框架进行开发。它支持超过 350 个的嵌入式设备,超过 20 个的开发平台,超过 10 个的框架 。


一、安装步骤

1、启动VS Code,选择扩展,然后查找PlatformIO,然后安装PlatformIO IDE。

2、PlatformIO IDE的安装时间较长,我们对VS Code左下角的提示信息进行查看即可。

3、在VS Code的输出窗口,有具体安装内容,我们可以参照整个安装过程。

4、PlatformIO安装完毕后,会要求重启VS Code,我们点击Reload Now按钮即可。

二、PlatformIO的配置

PlatformIO的整个配置过程均需Internet连接,而且联网速度较慢,需反复连接。

1、安装Atmel AVR平台,选择Platform,选择Atmel AVR安装即可。

2、安装STM32平台,选择Platform,选择ST STM32安装即可。

三、基本使用方法

以STM32F091RCT6为例,讲述PlatformIO的基本使用方法。

1、New Project

2、进行如下设置。

3、生成过程,要求联网Internet,需等待一段时间。

4、下图是生成后的文件结构。

5、在src目录下,建立main.c和main.h 2个文件。

6、main.h的程序如下:

#ifndef MAIN_H
#define MAIN_H

#include "stm32f0xx_hal.h"

#define LED_PIN                                GPIO_PIN_12
#define LED_GPIO_PORT                          GPIOB
#define LED_GPIO_CLK_ENABLE()                  __HAL_RCC_GPIOA_CLK_ENABLE()

#endif // MAIN_H

7、main.c的程序如下:

#include "main.h"
#include "stm32f0xx_hal.h"

void LED_Init();

int main(void) {
  HAL_Init();
  LED_Init();

  while (1)
  {
    HAL_GPIO_TogglePin(LED_GPIO_PORT, LED_PIN);
    HAL_Delay(1000);
  }
}

void LED_Init() {
  LED_GPIO_CLK_ENABLE();
  GPIO_InitTypeDef GPIO_InitStruct;
  GPIO_InitStruct.Pin = LED_PIN;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_PULLUP;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
  HAL_GPIO_Init(LED_GPIO_PORT, &GPIO_InitStruct);
}

void SysTick_Handler(void) {
  HAL_IncTick();
}

8、然后进行编译,在编译的过程中会有警告出现,可参照https://blog.csdn.net/qingwufeiyang12346/category_6022337.html里面讲述的方法加以解决。

7、点击下载按钮,将程序下载到开发板。如无意外,可看到线路板的指示灯以1000ms为间隔进行闪烁。

 

 

 

 

 

 

发布了425 篇原创文章 · 获赞 1113 · 访问量 83万+

猜你喜欢

转载自blog.csdn.net/qingwufeiyang12346/article/details/104065813