Arduino 项目教程

Arduino 项目教程

arduinoA ruby library to talk to Arduino without having to burn programs repeatedly to the board项目地址:https://gitcode.com/gh_mirrors/arduino3/arduino

1. 项目的目录结构及介绍

arduino/
├── examples/
│   ├── Blink/
│   ├── Fade/
│   └── ...
├── libraries/
│   ├── EEPROM/
│   ├── Wire/
│   └── ...
├── hardware/
│   ├── avr/
│   │   ├── bootloaders/
│   │   ├── cores/
│   │   ├── variants/
│   │   └── ...
│   └── ...
├── tools/
│   ├── avrdude/
│   └── ...
├── README.md
└── ...
  • examples/: 包含一些示例项目,如闪烁LED(Blink)和渐变LED(Fade)等。
  • libraries/: 包含一些常用的库,如EEPROM和Wire等。
  • hardware/: 包含硬件相关的文件,如AVR核心文件和变体文件等。
  • tools/: 包含一些工具,如avrdude等。
  • README.md: 项目的说明文件。

2. 项目的启动文件介绍

在Arduino项目中,启动文件通常是指main.cpp文件,它位于hardware/arduino/cores/arduino/目录下。这个文件负责初始化硬件和调用用户编写的setup()loop()函数。

#include <Arduino.h>

int main(void) {
    init();
    setup();
    for (;;) {
        loop();
        if (serialEventRun) serialEventRun();
    }
    return 0;
}
  • init(): 初始化硬件。
  • setup(): 用户定义的初始化代码。
  • loop(): 用户定义的主循环代码。

3. 项目的配置文件介绍

在Arduino项目中,配置文件通常是指platform.txt文件,它位于hardware/arduino/avr/目录下。这个文件包含了编译和上传程序所需的配置信息。

compiler.path={runtime.tools.avr-gcc.path}/bin/
compiler.c.cmd=avr-gcc
compiler.c.flags=-c -g -Os {compiler.warning_flags} -std=gnu11 -ffunction-sections -fdata-sections -MMD -flto -fno-fat-lto-objects
compiler.c.elf.cmd=avr-gcc
compiler.c.elf.flags=-Os -g -flto -fuse-linker-plugin -Wl,--gc-sections,--relax
compiler.S.cmd=avr-gcc
compiler.S.flags=-c -g -x assembler-with-cpp -MMD -flto
compiler.ar.cmd=avr-gcc-ar
compiler.ar.flags=rcs
compiler.objcopy.eep.cmd=avr-objcopy
compiler.objcopy.eep.flags=-O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0
compiler.elf2hex.cmd=avr-objcopy
compiler.elf2hex.flags=-O ihex -R .eeprom
compiler.elf2eep.cmd=avr-objcopy
compiler.elf2eep.flags=-j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex
  • compiler.path: 编译器路径。
  • compiler.c.cmd: C编译器命令。
  • compiler.c.flags: C编译器标志。
  • compiler.c.elf.cmd: ELF文件编译器命令。
  • compiler.c.elf.flags: ELF文件编译器标志。
  • compiler.S.cmd: 汇编编译器命令。
  • compiler.S.flags: 汇编编译器标志。
  • compiler.ar.cmd: 归档器命令。
  • compiler.ar.flags: 归档器标志。
  • compiler.objcopy.eep.cmd: EEPROM对象复制命令。
  • compiler.objcopy.eep.flags: EEPROM对象复制标志。
  • compiler.elf2hex.cmd: ELF到HEX转换命令。
  • **compiler.elf2hex.flags

arduinoA ruby library to talk to Arduino without having to burn programs repeatedly to the board项目地址:https://gitcode.com/gh_mirrors/arduino3/arduino

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

宣连璐Maura

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

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

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

打赏作者

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

抵扣说明:

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

余额充值