yoshiyuki's blog

Arduino/Teensy/Raspberry pi pico を利用した I2C, SPI 通信アプリを紹介します

2020-06-01から1ヶ月間の記事一覧

Arduino で I2C / 最新ファームウェアと履歴

Latest Windows app ver. 0.81 Android app ver. 3.5Arduino Nano: sketch_I2C_SPI_bin_R15.ino Teensy 4.0: sketch_t4ctrl_R08.hex Raspberry Pi Pico: pico_ctrl_R48.uf2 MAX32625PICO: max32625_ctrl_R00.bin最新のファームウェアは Windows アプリ に同…

Arduino / I2C 関数をイチから作る (6)

最後に Master Read の処理を説明します。 -: 事前コマンドの書き込み → マイコン: Start Condition の取得要求 ← マイコン: 取得完了 → マイコン: Slave address + R の入力 → マイコン: Data 送信を指示 ← マイコン: 送信完了 ← マイコン: ACK or NACK → …

Arduino / I2C 関数をイチから作る (5)

Arduino のマイコンを直接制御して I2C を実行する方法はわりと簡単です。ここでは Master Write の流れを説明します。 「→ マイコン」 をマイコンへの入力、「← マイコン」をマイコンからの応答として、以下のようになります。 → マイコン: Start Condition…

Arduino / I2C 関数をイチから作る (4)

ここからは関数の中身について説明します。肝はレジスタの直叩きです。Arduino はマイコンの使い方のひとつの形態であり、開発環境も含めてマイコンの機能を簡単に利用できるよう整えられた環境です。つまり、実際に各種機能を実現しているのはマイコンです…

Arduino / I2C 関数をイチから作る (3)

作った I2C関数の使い方です。 実際に呼び出して使うのは以下の 2個です。 // Master Write byte i2c_write(byte slave_adr, byte *data, int data_length) // Master Read byte i2c_read(byte slave_adr, byte *reg_adr, int reg_adr_length, byte *read_da…

Arduino / I2C 関数をイチから作る (2)

作った関数がこちらです。github.comloop の中身は使用例です。 使い方は次の記事で説明します。 // 06/12/2020 Rev. 1.2 // revised a bug in read function // for Examples byte byteSC; byte byteADR; byte byteREG[2]; byte byteWRITE[16]; byte byteRE…

Arduino / I2C 関数をイチから作る (1)

Arduino で I2C をやろうと思ったら、まず wire ライブラリを使うと思います。そして wire ライブラリを使うと必ず、タイムアウトが無いことに苦しむと思います。 私が苦しんだのは Start Condition の無限ループでした。 wire ライブラリでは Master Read …

Arduino で I2C / コマンド (Windows/Android 共通)

この記事では自作アプリの使い方を説明しています。自作アプリに関しては以下の記事をご参照ください。 ysin1128.hatenablog.comWindows アプリの 「CMD」「 CMD_Multi」 タブで使用するコマンドの説明です。 Android アプリでも同じコマンドを使用します。 …

Arduino で I2C / 各ピン の役割

この時期では、自作ツールの Sketch においてどの機能をどのピンに割り当てているかを説明します。 自作ツールについては以下の記事をご参照ください。 ysin1128.hatenablog.comSketch によって Arduino の各ピンには下記の役割を割り当てています。 Sketch …