ライブラリダウンロード

このサイトで使用している部品のソースコードに対して共通して使用できるライブラリをダウンロードすることが出来ます。このライブラリの具体的な使用法はこちらのページを見てください。

 昔このライブラリを作成した頃はどんなマイコンが来ても使用できるように仮想ベースクラスとそれを継承した実クラスという下の図のような継承関係を作成していました。そのうえで紹介している各部品の操作はベースクラスを使用するとどんなマイコンでも共通の作法で操作することができるようになります。

 このように構成することでマイコンの区別なく各部品を使用することはできるためメリットはとても大きいです。しかし実際には各マイコン(Arduino, STM)などに対応するライブラリを動作確認しつつ動かすのは個人でできる範囲を超えており、結局上記の構想を中途半端に引き続いたままで('20.11)時点ではSTM32F103マイコンにのみ対応するという状況になっています。

 STM32用のライブラリは'19/5月時点でHALドライバを用いたものからLLドライバへ用いたものへ変更中です。F103xB向け以外は正常に動作しないと思います。またLL使用時は"USE_FULL_LL_DRIVER"をマクロ登録する必要があります。

ダウンロード

 上記の通りSTM32F103基板にのみ対応しています。以下の3種のファイルは継承関係にありますので互いに参照できるように配置してください。具体的にはインクルードパス、ソースパスを設定する必要があります。

 またUSBについてはSTマイクロさんのHALドライバを一部内蔵しており、かつCDCとHIDが両立しないことから分けています。

  クラス名 ダウンロード
 共通基本クラス DKSlib_***_Base DKSlib_Base.zip
STM32基本クラス DKSlib_***_STM32 DKSlib_STM32HAL.zip
F103用実装クラス DKSlib_***_F103xB DKSlib_F103xB.zip
F103用HID USB DKSlib_USBHID_F103xB DKSlib_USBHID_F103xB
F103用CDC USB DKSlib_USBCDC_F103xB DKSlib_USBCDC_F103xB

ダウンロード(旧)

 一応記念までにかつて作成した各マイコン対応のクラスも以下に置いておきます。多分もうほとんど動かないです。。。

  一般的なクラス名 ダウンロード
共通基本クラス DKSlib_***Base 

DKSlib_Base.zip

   Arduino用 DKS_***Arduino DKSlib_Arduino.zip
STM32用共通 DKS_***_STM32

DKSlib_STM32HAL.zip

DKSlib_STM32USB.zip

   F3Disco用

DKS_***_F303xC

DKSlib_F303xC.zip
NucleoF401用

DKS_***_F401xE

DKSlib_F401xE.zip
F103C8T6用

DKS_***_F103xB

DKSlib_F103xB.zip

更新履歴

日付

内容

対象

'14.9.7

SPI追加

全て

I2C2バグ修正他

F3Disco
 '14.12.6

NucleoF401版新規作成

これによりF3Disco, Arduinoは共通ファイルと個別ファイルの2種類に分離。中身は変更なし。

全て 
'15.1.17

HALドライバを使用したF3Discovery版新規作成。

NucleoF401版と共通する部分をSTM32HALとして共通化

F3Disco

NucleoF401

'15.4.28

ADCクラス追加

Arduino版はGPIOにバグがあったため修正

全て

'15.5.20

InterruptInクラス追加

全て

'15.5.31

PwmOutクラス追加

全て

F3Discoのstd. peripheral ライブラリ版削除

F3Disco

'15.6.17

USB HID クラス追加

STM32HAL

'15.6.21

PwmOutクラス バグフィックス

STM32

'15.7.1

I2C, SPI, Utilityクラス バグフィックス

STM32

'15.8.30

ダウンロード先をYahooボックスに変更

Timerクラス大幅変更

Tickerクラス追加

全て

'15.9.23

RTCクラス追加

DigitalIn, InterruptInクラス バグフィックス

全て

'15.10.10

USB HIDクラス修正。いくつか関数追加。

STM32

'15.10.24

STM32 F3,F4用ライブラリ名称変更

Arduino用ライブラリフォルダ構造変更

GPIO系クラス変更。ベースクラスの共通化

全て

'15.11.25

GPIOクラス バグ修正 (F3,F4)

SPIクラス作成(STM32F4),修正(F3,Arduino)

USB_HIDクラス バグ修正(F4)

全て

'16.2.16

Add Circular Buffer class

Add UART Class

Some bugs are fixed.

All

'16.3.27

Add Internal Rom Access class

All

'16.7.15

I2C Bug Fixed

Arduino

'17.8.3

Add STM32F103C8T6 library

Update SD card class 

  - Adapt to FatFs ver 0.13

Add USB CDC Class

Etc...

STM32

'17.8.16

Add Software I2C Class

Bug fixed.

All

'17.8.27

32byte以上の転送に対応(Arduino)

その他I2Cライブラリ修正

F3, F4は未対応

Arduino

STM32F1

'17.9.13

Bug fixed: USB CDC class

STM32 USB

'17.9.30

Bug fixed: USB_HID_Class

STM32 USB

'17.11.11

Bug fixed: USB CDC class

(Add Flush command)

STM32 USB

'18.3.3

WaitなどいくつかのクラスについてInit関数でも初期化できるようにした

STM32 F1

'18.4.21

同上

STM32 F1

'18.7.19

Update I2C class

STM32 F1

Arduino

'18.12.20

Update Timer, Ticker class

STM32 F1

Arduino

'18.12.29

Update STM32ADC class

STM32 F1

'19.5.27

This library is on the way to convert from HAL driver to LL driver. Just only RCC, SPI, GPIO are finished. F3, F4 library will be not working properly.

STM32 F1

'19.6.16

Convert HAL driver to LL driver(RTC, ADC)

Bug fix (SPI)

STM32F1

'19.7.16

Bug fix (SPI, Common)

STM32F1

’19.10.20

Convert I2C class from HAL to LL

Add I2CwithPEC class for MLX90614

STM32F1

’20.2.3

Update I2C class

STM32F1

'20.3.1

Update I2C class

STM32F1

'20.4.9

Update wait class

STM32LL

'20.11.28

Update all class, Add HID USB class

STM32F1

'21.9.19

Update I2C class, HID USB class

STM32F1