嵌入式系统开发环境的构建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为间隔进行闪烁。

 

 

 

 

 

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

snmplink

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值