はじめに
前回作成したプロジェクトを変更してI2Cの機能を有効化します。
また、今後のために合わせてOSも有効にしておきます。
STM32CubeMXの設定
以下の手順で設定を変更しました。
I2CとOSを有効にする
Configuration
FREERTOSのEnabledをチェック
I2C1をDisableからI2C
に変更します。
CPUのPB8がI2C1_SCLに、PB9がI2C1_SDAとなります。
I2C1はPB6をI2C1_SCLに、PB7をI2C1_SDAとして使用することもできますが、
X-NUCLEO-IKS01A1では、PB8をI2C1_SCLに、PB9をI2C1_SDAとして使用します。
Timebaseを変更する
Configuration
Timebase SourceをSysTickからTIM1
に変更します。
SysTickはOSが使用することになるためTIM1に変更しています。
I2Cの設定を変更する
センサーデバイスの仕様に合わせてI2Cの設定を変更します。
Configurationタブを選択し、I2C1ボタンをクリックします。
I2C1 Configuration画面が表示されるので、
Rise Time(ns)を1000
Fall Time(ns)を300
とします。
タスクを追加する
動作確認用にタスクを追加します。
FREERTOSボタンをクリックします。
FREERTOS Configurationが画面が表示されるので、
Tasks and Queuesタブを選択し、Addボタンをクリックします。
New Task画面が表示されるので、追加したいタスクの情報を入力します。
今回は、下記画面のように入力しました。
OKボタンをクリックして、タスクが追加されていることを確認してOKボタンをクリックします。
プロジェクトの生成
設定が完了したらProjectメニューからプロジェクトを生成します。
まとめ
I2Cを使用するための準備ができたので、次は実際にデバイスにアクセスしてみようと思います。