# @cella-lang/arduino 中文文档

规范地址：https://npmcn.com/package/%40cella-lang/arduino/

版本：0\.1\.202611090959
npm 元数据更新时间：2026-11-09T10:01:04.557Z
中文译文更新时间：2026-11-09T07:22:01.686Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40cella-lang/arduino
原文对照：https://npmcn.com/package/%40cella-lang/arduino/?lang=original
项目主页：https://cella-lang.org/

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：11.6 MB，51 个文件
- TypeScript 类型：未声明
- 运行依赖：0 个
- peer 依赖：cella-lang 0\.1\.202611090954，@cella-lang/cpp 0\.1\.202611090959，@cella-lang/cfamily 0\.1\.202611090959，@cella-lang/machine 0\.1\.202611090959
- 首次发布：2026-10-30T03:30:02.194Z
- 最新版本发布：2026-11-09T10:01:04.342Z
- 近 30 天下载量：11062（2026-10-10 至 2026-11-08，npm 官方下载统计）
- 已发布版本数：61（近 12 个月 61 个）

## 中文简介

Arduino and ESP32/ESP8266 for Cella Lang, on @cella-lang/cpp:董事会的核心和库,来自他们的C++来源(纸币、定时器和中断、串行、液晶、服务器、DHT、EEPROM、WiFi),一个模拟时钟,以及由主机提供的传感器值——编译

## 安装

```sh
npm install @cella-lang/arduino
```

也可以使用：`pnpm add @cella-lang/arduino`、`yarn add @cella-lang/arduino`、`bun add @cella-lang/arduino`

## README

# @cella-lang/马尔杜诺

阿尔杜伊诺、ESP32和ESP8266 [单元格a](https://www.npmjs.com/package/cella-lang) 作为编译模块的校验器 包: C++17 在一板上. 棋盘是程序的环境:它决定数据模型(相同) `int` 16 位数 在一款Uno和一款ESP32上的32位元上,其核心和库都是从他们的C++来源来模拟的.

取决于 `@cella-lang/cpp`, (中文(简体) ), `@cella-lang/cfamily` 财务报告和审定财务报表 `@cella-lang/machine`。 。 。 .

## 程序

JSON (美国) `@cella-lang/cfamily`语法与 `"lang": {"k": "langCpp"}` 和一块板子: `{"k": "prog", …, "board": "uno"}`。 。 。 .

| 董事会 | `int` | `double` |
| --- | --- | --- |
| `uno` (另见: `arduino`, (中文(简体) ), `nano` | 16 个比特 | 32个比特 |
| `esp32`, (中文(简体) ), `esp32c3`, (中文(简体) ), `esp32s3`, (中文(简体) ), `esp32s3Cam`, (中文(简体) ), `nodemcuEsp8266`, (中文(简体) ), `wemosD1Mini` | 32个比特 | 64个比特 |

一个未知的董事会做出判决 `invalid`。程序与 `setup` 财务报告和审定财务报表 `loop` 没有 `main` 运行像一个草图: `setup` 曾经,那么 `loop` 直到5个模拟秒。 定义自身条目的程序( :`main` 在AVR的板, `app_main` 在ESP32上运行 而不是核心.

### 核心和图书馆

核心: 针,时间, `map`, (中文(简体) ), `tone` 财务报告和审定财务报表 `noTone`, (中文(简体) ), `pulseIn`,董事会的常数(`{"k": "eConst", "name": "LED_BUILTIN"}`, (中文(简体) ), `Serial`, (中文(简体) ), `Serial1`...,还有 `String`。如同一个真实的草图一样,一个图书馆的名字会带有它的标题 (单位:千美元)`{"k": "iInclude", "header": "Servo.h"}`: `EEPROM.h`, (中文(简体) ), `Servo.h`, (中文(简体) ), `DHT.h`, (中文(简体) ), `LiquidCrystal.h`, (中文(简体) ), `LiquidCrystal_I2C.h`, (中文(简体) ), 和在ESP董事会 `WiFi.h` (单位:千美元)`WiFi.localIP()` 是一个 `IPAddress`,打印为 `a.b.c.d`) (中文(简体) ). 库对象为 普通对象: 以 `tClass` 并使用 `eMCall`模型遵循AVR核心, arduino-esp32 3.0.7和esp8266/Arduino 3.1.2. `arduino.boardInfo "uno"` 列出棋盘上的草图可以命名: 常数、序列端口、全球对象和图书馆类.

### 环境投入

节目的JSON 可能会随时间推移 环境的输入 `"board"`数字 :

```json
"inputs": [{"t": 1500, "key": "analog:A0", "value": 100}]
```

`t` 以毫秒为单位;一旦模拟时钟到达,输入即适用,而给设备取名的输入则等待到 设备被宣布。 键 :

| 密钥 | 投入 |
| --- | --- |
| `analog:A0` | 模拟指针读取 |
| `digital:2` | 数字指针的水平 |
| `echo:10` | 脉冲宽度 `pulseIn` 在针上读取,以微秒计(无给定:无脉冲) |
| `touch:4` | 什麽 `touchRead` (ESP32 有触觉;无:75个) |
| `dht:<name>.temperature`, (中文(简体) ), `dht:<name>.humidity` | dHT 传感器的读取( 两者均给出传感器答案; 缺失时不插) |
| `wifi` | 状态 `WiFi.begin` 结尾为: `wl_status_t` (无: `WL_CONNECTED`(中文(简体) ) |
| `eeprom:<address>` | 一个EEPROM 电池在动力上的内容 |

设备以宣布它们的变量命名(`s`, (中文(简体) ), `lcd`,一个数组的元素 `arm[0]`, (中文(简体) ), `arm[1]`),则在 键和在 `env` 相同; 无变量对象( 成员, 临时) 为 `dev<n>`输入是运行的 环境, 而不是程序的语法: 只有这个软件包的条目读取它们, 以及一个 C 或 C++ 程序, 没有棋盘 载着他们 `invalid`。 。 。 .

## 判决

JSON案的判决 `@cella-lang/cfamily`,用硬件所做的:

-   `pins`: 针值的每个变化, `{t, pin, value}` (PWM职责确定后,其他级别);最多1 000人 `pinsTruncated` 说当更多被扔下;
-   `env`:末端的硬件:时钟,回路运行,每个接针的模式,级别,PWM和基调,服务器 LCD的行和写作的EEPROM单元格.

## 条目

-   `arduino.verdict src input fuel`判决; `input` 这是什么 `Serial` 读取。 内核证明的判决: `kernel_verdict_in("arduino", "arduino.verdict", …)` 内 `cella-lang`。 。 。 .
-   `arduino.types src candidates`: 类型查询(格式为 `@cella-lang/cfamily`) (中文(简体) ).
-   `arduino.boardInfo name`:棋盘上的草图可以指名道姓.
-   `arduino.withInputs src inputs`节目的JSON与 `inputs` 联合国 `"inputs"`,用于以 Cella 书写的主机(a) JavaScript 主机设置了字段.
-   调试器,用于 `cella-lang/dap`数字 : `load` (应用程序) `"inputs"`, (中文(简体) ), `run`, (中文(简体) ), `stopConf`, (中文(简体) ), `stopKind`, (中文(简体) ), `stopNode`, (中文(简体) ), `stopOut`, (中文(简体) ), `stopErr`, (中文(简体) ), `stopDetail`, (中文(简体) ), `divergences`, (中文(简体) ), `feed`, (中文(简体) ), `globals`, (中文(简体) ), `frames`, (中文(简体) ), `setVarErr`, (中文(简体) ), `setVarConf`, (中文(简体) ), `env` (暂停运行的硬件,如线面板所示), `setInput key value` (投入) 暂停时更改, `clockMs` (模拟时钟) `report input fuel session`整个运行与所有的 输入一次. `cella-lang/dap` 记录在调试时更改输入,以及 `inputScript()` 还给他们 作为 `"inputs"` 判决重播.

## 正在装入

将包装入 `cella-lang` 名为 `index.json` (单位:千美元)`checkerHash`, (中文(简体) ), `cbfVersion`; 数据 `peerDependencies` 标定它 : `index.requires["cella-lang"].modules`软件包 `index.requires.packages` (每种方式都相同),然后按顺序排列此软件包的模块 `index.modules.arduino.deps`。 。 。 . `cella-lang`读取 (单位:千美元)_正式软件包_)有密码.

## 常见问题

### @cella-lang/arduino 是什么？

Arduino and ESP32/ESP8266 for Cella Lang, on @cella-lang/cpp:董事会的核心和库,来自他们的C\+\+来源\(纸币、定时器和中断、串行、液晶、服务器、DHT、EEPROM、WiFi\),一个模拟时钟,以及由主机提供的传感器值——编译

### 如何安装 @cella-lang/arduino？

在项目目录运行 npm install @cella-lang/arduino，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：cella-lang（0\.1\.202611090954）、@cella-lang/cpp（0\.1\.202611090959）、@cella-lang/cfamily（0\.1\.202611090959）、@cella-lang/machine（0\.1\.202611090959）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @cella-lang/arduino 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/cella-lang\_\_arduino 是否存在。

### @cella-lang/arduino 可以商用吗？

@cella-lang/arduino 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @cella-lang/arduino 的下载量有多少？

根据 npm 官方下载统计，@cella-lang/arduino 在 2026/10/10 – 2026/11/08 这 30 天内被下载 11,062 次，日均约 369 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @cella-lang/arduino 还在维护吗？

最新版本 0\.1\.202611090959 发布于 2026/11/09（今天）；至今共发布 61 个版本，其中过去 12 个月发布了 61 个；首次发布于 2026/10/30。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

