開発のヒント

周辺機能、I/O、メモリ

I2C端子の設定方法

I2Cのクロックを有効にする前に、I2C端子と共用されているGPIOの設定を行ってください。
さらに、その際のGPIOのパラメータの設定順序は、MODERレジスターを設定する前に、AFRレジスタを設定するようにしてください。
具体的には、AFRレジスタ→MODERレジスタ →SPEEDRレジスタ →OTYPERレジスタ →PUPDRレジスタの順でGPIOを設定した後にI2Cのクロックを有効にします。

この順序を守らないと、通信が始まっていないのに、I2CのBUSYフラグが立つ場合があります。

過去の開発のヒントはこちら