I2C

stm32duinoのI2Cポート

ee9king に投稿

これもGenericを選んでいるせいかもしれない。

Arduinoはwire.hで何も書かずに使用されるポートがD15,D14で決まっているようだが、Nucleoではデフォルトポートが違うようだ。

generic stm32のサンプルファイルの中にあるi2c_scanner.inoを開くと、下記のよう記述がある

 I2C-1 standard pins: PB7(sda) PB6(scl)
 Use it by "Wire" without pin declaration
  Wire.begin();

 I2C-1 alternative pins: PB9(sda) PB8(scl)
 Remap the first I2C before call begin()
  Wire.setSDA(PB9);
  Wire.setSCL(PB8);
  Wire.begin();

PB6はD10に割り振られているがPB7は、外部コネクタに出ているため、そこに接続して使用したものの通信信号が出てこなかった。そこで、デフォルトに合わせるため、Wire.begin()の前に

stm32duinoのI2Cポート

ee9king に投稿

これもGenericを選んでいるせいかもしれない。

Arduinoはwire.hで何も書かずに使用されるポートがD15,D14で決まっているようだが、Nucleoではデフォルトポートが違うようだ。

generic stm32のサンプルファイルの中にあるi2c_scanner.inoを開くと、下記のよう記述がある

 I2C-1 standard pins: PB7(sda) PB6(scl)
 Use it by "Wire" without pin declaration
  Wire.begin();

 I2C-1 alternative pins: PB9(sda) PB8(scl)
 Remap the first I2C before call begin()
  Wire.setSDA(PB9);
  Wire.setSCL(PB8);
  Wire.begin();

PB6はD10に割り振られているがPB7は、外部コネクタに出ているため、そこに接続して使用したものの通信信号が出てこなかった。そこで、デフォルトに合わせるため、Wire.begin()の前に

I2Cを制御する

ee9king に投稿

ちょっと、この記事は古いです。。。だいぶ前に書いたものを持ってきたので。。

デジタルノギスの表示部を取り出そうと思い、小さい液晶を探した所、秋月さんにI2Cタイプの小型の物があり、それを使う事にしました。ところで、I2Cでどうやって使うのって所から始めました。う〜ん実は判っていたようでいざ使おうとすると、う〜んよくわからん。設定に有るいくつかの事が実際わからなかった。

I2C仕様書

http://www.nxp.com/documents/user_manual/UM10204_JA.pdf

数年前までは、philips(NXP)にライセンス料を払わないとI2Cを名乗れなかったのですが、ライセンスは切れているようですよ。

I2Cを動かす

秋月の説明書に有る、ここの部分