I2Cポートの拡張
Cypress社のCY8CKIT-059に搭載されている、PSOC 5LP (CY8C5888LTI-LP097)には、Universal Digital Block Arrayが
あり、これを使用して、PSOCでI2Cの追加、拡張できます。
専用ハードウェアとしては一つですが、UDBを使用して拡張してみます。
PSoC Creatorから拡張する。
すでに一つ使用しているので、リソースメータ上は1/1で100%となっていますが、追加はできます。
デフォルトの状態だと、リソースが不足するためにエラーになります。回路図エディタ上でI2C_2をクリックして、Configurationを表示させます。
Implementationの部分をUDBに変更します。これで、新たにI2Cが使用できるようになりました。また、同時にUDB clock sourceをInternal clockに変更します。
クロックは400kbpsを設定しても、表示されている通り、375kbpsとなるようです。
特に問題はありません。
RST_1が一緒に追加されますが、ポートは外しても動作します。
次にPin Assignを行います。
Name
SCL_1
SDA_1
Port
P12[4]
P12[5]
ビルドオプションの変更:下記のようにビルドオプションを変更します。 Command LineのCustom Flagsに-std=c99をセットします。
main.cを選択して、右クリック、Build Settings...を選択。
リンカーオプションの変更:下記のようにリンカーオプションを変更します。
メインメニューからProjectを選択、Build Settings..を選択、LinkerのGeneralのAdditional Librariesにmを入れます。