首页 > 其他分享 >【ROS2机器人入门到实战】PIO工程结构&构建方式

【ROS2机器人入门到实战】PIO工程结构&构建方式

时间:2023-09-07 16:35:51浏览次数:46  
标签:入门 工程 PIO 编译 featheresp32 board ROS2 配置文件


4.PIO工程结构&构建方式

写在前面

  1. 当前平台文章汇总地址:ROS2机器人从入门到实战
  2. 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取
  3. 教程配套机器人开发平台:两驱版| 四驱版
  4. 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn

你好,我是爱吃鱼香ROS的小鱼。上一节我们搭建好了PIO的开发环境,并新建了第一个工程。本节我们详细了解下该工程,了解我们需要在哪里写代码,在哪里改配置。

一、工程目录概述

【ROS2机器人入门到实战】PIO工程结构&构建方式_工程结构

首先展开工程,可以看到工程一共有8个部分如上图所示。

  1. PIO配置文件
  2. VsCode配置文件
  3. 头文件放置目录
  4. 库文件放置目录
  5. 代码资源放置目录,主函数就在这里
  6. 测试文件放置目录
  7. git忽略文件
  8. platformio配置文件

二、在哪里写代码?

打开src/main.cpp就是我们工程的程序入口文件,打开该文件,已经默认给我们生成了9行代码,后续的主要开发就在这里进行。

#include <Arduino.h>

void setup() {
  // put your setup code here, to run once:
}

void loop() {
  // put your main code here, to run repeatedly:
}

三、工程配置文件-platformio.ini

打开工程主目录下的platformio.ini文件,预生成的配置文件如下

; PlatformIO Project Configuration File
;
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html

[env:featheresp32]
platform = espressif32
board = featheresp32
framework = arduino

这里用到的主要配置有四个

  1. [env:featheresp32]编译环境
  2. platform = espressif32,单片机平台
  3. board = featheresp32,开发板
  4. framework = arduino,开发框架-arduino

后续还有很多关于工程的配置都放在这里,同时我们可以添加一条配置board_build.f_cpu = 240000000L,将单片机的主频提高到240MHZ的主频。

[env:featheresp32]
platform = espressif32
board = featheresp32
framework = arduino
board_build.f_cpu = 240000000L

四、编译工程

在VsCode中编译PIO,编译工程和将编译结果下载到开发板上都非常的方便。

编译工程可以手动点击左下角的对号进行,其他操作也可以通过按钮进行。

【ROS2机器人入门到实战】PIO工程结构&构建方式_配置文件_02

点击编译按钮,看到如下界面则代表编译成功

【ROS2机器人入门到实战】PIO工程结构&构建方式_PIO_03

其中打印信息有很多有用的提示,比如工程占用的RAM和Flash大小(可以理解为系统程序大小)

RAM:   [          ]   4.9% (used 16144 bytes from 327680 bytes)
Flash: [==        ]  16.2% (used 212961 bytes from 1310720 bytes)

编译完成工程,在.pio/build/featheresp32目录下可以看到firmware.bin,这个就是我们工程编译之后生成的二进制文件,将该文件下载到开发板上就可以运行了。

五、PIO快捷键

这里再介绍几个PIO的快捷键,在接下来的学习中你肯定能用到

快捷键

内容

Ctrl+Alt+B

编译工程

Ctrl+Alt+U

将程序上传烧录到开发板

Ctrl+Alt+S

打开串口Monitor

六、总结

本节我们简单的了解下PIO工程的结构以及配置文件,下一节我们开始学习如何输出Hello World!


标签:入门,工程,PIO,编译,featheresp32,board,ROS2,配置文件
From: https://blog.51cto.com/u_15473553/7398509

相关文章

  • 【ROS2机器人入门到实战】SLAM技术概述
    10.3SLAM技术概述写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn小伙伴们好,上一节我们搭建好了Gazebo中的仿真环境,本节课......
  • 【ROS2机器人入门到实战】Gazebo仿真环境搭建
    7.Gazebo仿真环境搭建写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn本节我们要在Gazebo中建立一个测试的环境,其实也很简单......
  • 【ROS2机器人入门到实战】使用Nav2导航API进行导航
    4.使用Nav2导航API进行导航写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cnNav2的API其实是Nav2提供的一个Python库,通过该库......
  • 【ROS2机器人入门到实战】电机控制之正反转实验
    3.电机控制之正反转实验写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是小鱼。前面说到通过控制对应的IO电平变换即......
  • 七天入门Python(一)
    七天入门Python(一)大家好,我是Antvictor,一个励志要成为架构师的程序员。闲话少说,接下来请和我一起进入《七天入门Python》,首先是Python安装。Python安装从Python官网找到Download下载对应的安装包,python3.6及以上即可。Python官网会根据系统默认展示对应系统的最新版本安装包,下载成......
  • 【ROS2机器人入门到实战】I2C通信实验-点亮OLED
    6.I2C通信实验-点亮OLED写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn你好,我是爱吃鱼香ROS的小鱼。本节我们就尝试直接使......
  • 写了一本适合本科生的机器学习书:《机器学习入门基础(微课版)》
    各位读者朋友们,今天我要给大家推荐一本非常实用的机器学习入门基础图书——《机器学习入门基础(微课版)》。这本书是由黄海广老师倾心打造,适合只有本科三年级数学水平以上的初学者入门,这本书已经被很多学校定为本科生教材。背景介绍本书的作者黄海广老师是一名大学教师,翻译和整理过很......
  • 速腾RS16的ROS2驱动
    文章目录本机软硬件环境ROS2驱动下载ROS2编译设置固定IP编辑配置文件测试参考本机软硬件环境ROS2-foxyubuntu20.04速腾RS16ROS2驱动下载mkdirlaser_ws&&cdlaser_ws/mkdirsrc&&cdsrc/gitclonehttps://github.com/RoboSense-LiDAR/rslidar_msg.gitgitclonehttps://g......
  • JavaScript入门---计算机基础
         编程语言通过翻译器翻译成机器语言让机器执行 标记被动,编程有逻辑是主动。二。计算机基础硬件:输入设备、输出设备、cpu(处理数据与运算)、硬盘、内存 软件:系统软件,应用软件包含于sys软件2.1数据存储计算机内部由01表示数据硬盘内存都是保存二进制数......
  • 【ROS2机器人入门到实战】FishBot建图与导航实现
    第17章FishBot建图与导航实现写在前面当前平台文章汇总地址:ROS2机器人从入门到实战获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取教程配套机器人开发平台:两驱版|四驱版为方便交流,搭建了机器人技术问答社区:地址fishros.org.cn大家好,我是小鱼。本章我们主要学习FishBot......