共通ライブラリ / Common library

(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.

対象マイコン基板 / Target MCU board

MCU Board IDE

STM32 F3 Discovery

STM32 Nucleo F401

STM32F103C8T6 

System workbench for SMT32
Arduino UNO R3 Arduino

Arduinoは価格性能比に不満があるのでSTM32 基板をメインに考えています。

構成 / Structure

全てのコードはC++で記載されています。

 基本的な構成としては各項目ごとにベースとなる基底クラスがあり、それを各対象マイコン毎の子クラスが継承することで多態性を実現するようにしています。

 以下に継承関係を表したツリー図を載せていますので参考にしてください。(クリックで拡大)

ライセンス等

ここで公開しているコードについて

  • MITライセンス準拠とします。すなわち改変、配布等は自由に行っていただいて構いませんが、利用することによる一切の損害等については保証しかねます。自己責任での利用をお願いします。
  • 皆さんのお知恵をお借りし、完成度を高めていきたいと考えています。このため使用に関して修正された点があり、第三者にも有益な内容であればご連絡いただけると嬉しいです。
  • 後方互換を確保しつつ繰り返し改善を行うつもりですが、必ずしもこだわりません。お手数をおかけしますが、必要に応じてバックアップ等をお願いいたします。

他プラットフォームとの比較 / Comparison with others

 著名な各プラットフォームとの一覧を作成してみました。管理人の気の向くままに順次作成していたのですが、ずいぶん埋まってきたと思います。

  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

Timer

遅延 delay wait

Iwait

ワンショット割り込み - Timeout

-

タイマ割り込み - Ticker

ITicker

UART Serial Serial

IUART

I2C Master Wire I2C

II2C

I2C Slave - I2CSlave

-

SPI Master SPI SPI

SPI_Base

SPI Slave - SPISlave

-

USB (HID) - -

USBHID

RTC - time

IRtc

Rom access EEPROM -

IInterRom