初めての投稿になります。
不慣れなもので失礼が有ればお許しください。
https://ht-deko.com/arduino/stm32f103c8t6.html
いつも、こちらのページを参考にさせていただいております。
i2cについてi2c_scanner_softwire.inoが以下に公開されています。
https://github.com/rogerclarkmelbourne/Arduino_STM32/blob/master/STM32F1/libraries/Wire/examples/i2c_scanner_softwire/i2c_scanner_softwire.ino
試してみたところ、
#include <SoftWire.h>
SoftWire SWire(PB4, PB6, SOFT_FAST); // SCL,SDA
にて0×50のアドレスを持つ24C02のEEPROMを認識しました
Scanning…
I2C device found at address 0×50
I2C device found at address 0×51
done
Scanning…
I2C device found at address 0×50
I2C device found at address 0×51
done
このEEPROMはなぜか2つの連続したアドレスで認識されますが
https://github.com/yazug/EEPROM24C04_16
のライブラリを試したところ
//#include <Wire.h>
#include <SoftWire.h>
SoftWire SWire(PB4, PB6, SOFT_FAST); // SCL,SDA
#define Wire Swire
#include <Eeprom24C04_16.h> // https://github.com/yazug/EEPROM24C04_16
の変更だけでサンプルスケッチの正常動作を確認しました
SoftWireを使うと、どのポートもi2cとして使えるみたいです。
|