littlebot
Published on 2025-04-09 / 3 Visits
0

【源码】基于Arduino平台的C++标准库

项目简介

Arduino平台的标准库质量不一,AVR平台无官方标准库,SAM和ESP32虽有标准库但存在较多bug,使用不便。本库采用最新版GCC实现的标准库,对AVR、SAM和ESP32三大平台做了适配,可让开发者使用熟悉的标准库函数进行Arduino开发。

项目的主要特性和功能

  • 标准库实现:尝试在Arduino上实现C++11~17标准库(STL)的大部分功能。
  • 平台适配:支持AVR、SAM和ESP32三大平台,同时提供相应的配置指南。
  • 功能扩展:除标准库功能外,还提供特定于Arduino平台的扩展功能,如轻量级随机生成器std::ArduinoUrng
  • 标准输入输出:std::coutstd::cin被重定向到串口,使用前需手动调用Serial.begin()

安装使用步骤

假设用户已经下载了本项目的源码文件: 1. 包含头文件:在你的Arduino项目中包含Cpp_Standard_Library.h。 2. 平台配置:对于AVR、SAM和ESP32平台,需要根据项目简介中的说明进行额外配置。 3. 示例代码:参考以下示例代码,使用std::coutstd::cin进行串口输入输出。

示例代码

```c++

include "Cpp_Standard_Library.h"

void setup() { Serial.begin(9600); cout << "Please enter an integer: "; }

void loop() { int number; if (cin >> number) { cout << "You entered: " << number << endl; } else { cin.clear(); cin.ignore(); } } ```

注意事项

  • 串口初始化:确保在setup()函数中调用Serial.begin()以初始化串口通信。
  • 平台配置:根据目标平台(AVR、SAM、ESP32)进行必要的配置更改。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】