(2015.1.18 更新)
(2015.9.2 更新)
(2015.9.23 更新)
(2015.10.24 更新)
(2016.2.21 Update)
(2016.3.27 Update)
(2017.8.3 Update)
紹介する様々な電子工作部品を使用するにあたり共通して使用しているソースコードを紹介しています。
ダウンロードページよりダウンロードできます。
Commonly used codes is explained in this page. You can download here.
MCU Board | IDE |
STM32 F3 Discovery STM32 Nucleo F401 STM32F103C8T6 |
System workbench for SMT32 |
Arduino UNO R3 | Arduino |
Arduinoは価格性能比に不満があるのでSTM32 基板をメインに考えています。
全てのコードはC++で記載されています。
基本的な構成としては各項目ごとにベースとなる基底クラスがあり、それを各対象マイコン毎の子クラスが継承することで多態性を実現するようにしています。
以下に継承関係を表したツリー図を載せていますので参考にしてください。(クリックで拡大)
ここで公開しているコードについて
著名な各プラットフォームとの一覧を作成してみました。管理人の気の向くままに順次作成していたのですが、ずいぶん埋まってきたと思います。
Arduino | mbed | DKSlib | |
GPIO出力 | digitalWrite | DigitalOut | IDigitalOut |
GPIO入力 | digitalRead | DitalIn | IDigitalIn |
GPIO入出力 | - | DigitalInOut | - |
GPIO群出力 | - | BusOut | BusOut |
PWM出力 | analogWrite | PwmOut | IPwmOut |
GPIO割り込み | attachInterrupt | InterruptIn | InterruptIn |
AD Converter | analogRead | AnalogIn | IADC |
DA Converter | - | AnalogOut | - |
シフトアウト | shiftOut | - |
- |
シフトイン | shiftIn | - |
- |
High時間計測 | pulseIn | - |
- |
時間カウント | millis, micros | Timer | |
遅延 | delay | wait | |
ワンショット割り込み | - | Timeout |
- |
タイマ割り込み | - | Ticker | |
UART | Serial | Serial | |
I2C Master | Wire | I2C | |
I2C Slave | - | I2CSlave |
- |
SPI Master | SPI | SPI | |
SPI Slave | - | SPISlave |
- |
USB (HID) | - | - | |
RTC | - | time | |
Rom access | EEPROM | - |