Arduino 原始碼

Arduino

簡介

安裝

LED 範例

跑馬燈

七段顯示器

開關控制

蜂鳴器

紅外線

光敏電阻

觸鬚

BB 避障車

連接電腦

麥克風

無線通訊

影音教材

20130118研習

原始碼

建置

內部結構

原始碼解析

系統軟體

編譯器

IDE

AVR libc

avrDude

miniblog

硬體

專案建置

訊息

相關網站

參考文獻

最新修改

簡體版

English

Arduino 使用 Atmel 公司的 8 位元 AVR 系列的微處理器,1.0 版使用的是 megaAVR (ATmega) 系列的處理器,所以 Arduino 使用的工具鏈正是針對 AVR 處理器所設計的 GNU avr-gcc toolchain, avrdude, avr-libc 等工具。

AVR 微處理器與 8051 微處理器的定位類似,但是 8051 通常使用的是 Keil-C 這樣的特製編譯器,而 AVR 則可以使用開放原始碼的 AVR-gcc 編譯器,這樣的設計讓 Arduino 的開放原始碼更加徹底。

您可以從 http://arduino.googlecode.com/files/arduino-1.0-src.tar.gz 這個網址中下載 Arduino 1.0 版的原始碼,解開後資料夾結構如下。

E:\CCC\ARDUINO-1.0
├─app
│  ├─.settings
│  ├─bin
│  │  └─processing
│  │      └─app
│  │          ├─debug
│  │          ├─linux
│  │          ├─preproc
│  │          ├─syntax
│  │          │  └─im
│  │          └─tools
│  ├─lib
│  └─src
│      └─processing
│          └─app
│              ├─debug
│              ├─linux
│              ├─preproc
│              ├─syntax
│              │  └─im
│              └─tools
│                  └─format
│                      ├─src
│                      └─tool
├─build
│  ├─cmd
│  │  └─dist
│  ├─javadoc
│  │  ├─core
│  │  │  ├─processing
│  │  │  │  ├─core
│  │  │  │  └─xml
│  │  │  └─resources
│  │  └─everything
│  │      ├─antlr
│  │      │  └─java
│  │      ├─processing
│  │      │  ├─app
│  │      │  │  ├─debug
│  │      │  │  ├─linux
│  │      │  │  ├─preproc
│  │      │  │  ├─syntax
│  │      │  │  └─tools
│  │      │  ├─candy
│  │      │  ├─core
│  │      │  ├─dxf
│  │      │  ├─net
│  │      │  ├─opengl
│  │      │  ├─pdf
│  │      │  ├─serial
│  │      │  ├─video
│  │      │  └─xml
│  │      └─resources
│  ├─linux
│  │  └─dist
│  │      ├─lib
│  │      └─tools
│  └─shared
│      ├─examples
│      │  ├─1.Basics
│      │  │  ├─AnalogReadSerial
│      │  │  ├─BareMinimum
│      │  │  ├─Blink
│      │  │  ├─DigitalReadSerial
│      │  │  └─Fade
│      │  ├─2.Digital
│      │  │  ├─BlinkWithoutDelay
│      │  │  ├─Button
│      │  │  ├─Debounce
│      │  │  ├─StateChangeDetection
│      │  │  ├─toneKeyboard
│      │  │  ├─toneMelody
│      │  │  ├─toneMultiple
│      │  │  └─tonePitchFollower
│      │  ├─3.Analog
│      │  │  ├─AnalogInOutSerial
│      │  │  ├─AnalogInput
│      │  │  ├─AnalogWriteMega
│      │  │  ├─Calibration
│      │  │  ├─Fading
│      │  │  └─Smoothing
│      │  ├─4.Communication
│      │  │  ├─ASCIITable
│      │  │  ├─Dimmer
│      │  │  ├─Graph
│      │  │  ├─MIDI
│      │  │  ├─MultiSerialMega
│      │  │  ├─PhysicalPixel
│      │  │  ├─SerialCallResponse
│      │  │  ├─SerialCallResponseASCII
│      │  │  ├─SerialEvent
│      │  │  └─VirtualColorMixer
│      │  ├─5.Control
│      │  │  ├─Arrays
│      │  │  ├─ForLoopIteration
│      │  │  ├─IfStatementConditional
│      │  │  ├─switchCase
│      │  │  ├─switchCase2
│      │  │  └─WhileStatementConditional
│      │  ├─6.Sensors
│      │  │  ├─ADXL3xx
│      │  │  ├─Knock
│      │  │  ├─Memsic2125
│      │  │  └─Ping
│      │  ├─7.Display
│      │  │  ├─barGraph
│      │  │  └─RowColumnScanning
│      │  ├─8.Strings
│      │  │  ├─CharacterAnalysis
│      │  │  ├─StringAdditionOperator
│      │  │  ├─StringAppendOperator
│      │  │  ├─StringCaseChanges
│      │  │  ├─StringCharacters
│      │  │  ├─StringComparisonOperators
│      │  │  ├─StringConstructors
│      │  │  ├─StringIndexOf
│      │  │  ├─StringLength
│      │  │  ├─StringLengthTrim
│      │  │  ├─StringReplace
│      │  │  ├─StringStartsWithEndsWith
│      │  │  ├─StringSubstring
│      │  │  ├─StringToInt
│      │  │  └─StringToIntRGB
│      │  └─ArduinoISP
│      ├─lib
│      │  └─theme
│      ├─reference
│      │  └─img
│      ├─sketchbook
│      │  ├─default
│      │  └─examples
│      └─tools
│          └─Mangler
│              └─src
├─core
│  ├─.settings
│  ├─bin
│  │  └─processing
│  │      ├─core
│  │      └─xml
│  ├─methods
│  │  ├─demo
│  │  └─src
│  ├─preproc
│  │  ├─demo
│  │  └─src
│  │      └─processing
│  │          └─build
│  └─src
│      └─processing
│          ├─core
│          └─xml
├─hardware
│  └─arduino
│      ├─bootloaders
│      │  ├─atmega
│      │  ├─atmega8
│      │  ├─bt
│      │  ├─diskloader
│      │  │  └─src
│      │  ├─lilypad
│      │  │  └─src
│      │  ├─optiboot
│      │  └─stk500v2
│      ├─cores
│      │  └─arduino
│      ├─firmwares
│      │  ├─arduino-usbdfu
│      │  │  └─Board
│      │  └─arduino-usbserial
│      │      ├─Board
│      │      └─Lib
│      └─variants
│          ├─eightanaloginputs
│          ├─leonardo
│          ├─mega
│          ├─micro
│          └─standard
└─libraries
    ├─EEPROM
    │  └─examples
    │      ├─eeprom_clear
    │      ├─eeprom_read
    │      └─eeprom_write
    ├─Ethernet
    │  ├─examples
    │  │  ├─BarometricPressureWebServer
    │  │  ├─ChatServer
    │  │  ├─DhcpAddressPrinter
    │  │  ├─DhcpChatServer
    │  │  ├─DnsWebClient
    │  │  ├─PachubeClient
    │  │  ├─PachubeClientString
    │  │  ├─TelnetClient
    │  │  ├─TwitterClient
    │  │  ├─UdpNtpClient
    │  │  ├─UDPSendReceiveString
    │  │  ├─WebClient
    │  │  └─WebServer
    │  └─utility
    ├─Firmata
    │  └─examples
    │      ├─AllInputsFirmata
    │      ├─AnalogFirmata
    │      ├─EchoString
    │      ├─I2CFirmata
    │      ├─OldStandardFirmata
    │      ├─ServoFirmata
    │      ├─SimpleAnalogFirmata
    │      ├─SimpleDigitalFirmata
    │      └─StandardFirmata
    ├─LiquidCrystal
    │  └─examples
    │      ├─Autoscroll
    │      ├─Blink
    │      ├─Cursor
    │      ├─CustomCharacter
    │      ├─Display
    │      ├─HelloWorld
    │      ├─Scroll
    │      ├─SerialDisplay
    │      ├─setCursor
    │      └─TextDirection
    ├─SD
    │  ├─examples
    │  │  ├─CardInfo
    │  │  ├─Datalogger
    │  │  ├─DumpFile
    │  │  ├─Files
    │  │  ├─listfiles
    │  │  └─ReadWrite
    │  └─utility
    ├─Servo
    │  └─examples
    │      ├─Knob
    │      └─Sweep
    ├─SoftwareSerial
    │  └─examples
    │      ├─SoftwareSerialExample
    │      └─TwoPortReceive
    ├─SPI
    │  └─examples
    │      ├─BarometricPressureSensor
    │      │  └─BarometricPressureSensor
    │      └─DigitalPotControl
    ├─Stepper
    │  └─examples
    │      ├─MotorKnob
    │      ├─stepper_oneRevolution
    │      ├─stepper_oneStepAtATime
    │      └─stepper_speedControl
    └─Wire
        ├─examples
        │  ├─digital_potentiometer
        │  ├─master_reader
        │  ├─master_writer
        │  ├─SFRRanger_reader
        │  ├─slave_receiver
        │  └─slave_sender
        └─utility

Facebook

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License