#はじめに
前回作成したプロジェクトを変更して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を使用するための準備ができたので、次は実際にデバイスにアクセスしてみようと思います。