Interface)概要SPIは様々なマイコンの周辺ICによってサポートされている同期式シリアル通信の一つです。ML620Q504がマスターとなり、周辺ICはスレーブとして動作します。本関数を使用するためには、"プロジェクト"メニューの"ライブラリを使用する"から、SPIのライブラリを有効にしてください。ML620Q504は2系統のSPIを搭載しています。SPIはピン番号の11ピン(MOSI)、12ピン(MISO)、13ピン(SCLK)で使用することができます。一系統は、SPI0というライブラリ群で、無線モジュールBP3596を制御するために使用しています。◆SPIによる周辺機器との接続方法SPIでは次の様に周辺機器を接続することができます。ICに信号を送信します。ICが出力する信号をLazuriteが受信します。SCLKは、Lazuriteが出力する信号で、信号を伝送するためのクロックです。ICを識別するための信号として使用します。SPI.setDataModeシリアル転送タイミングは、モードの設定によって次の4種類に対応しています。ICのデータシートに記載されているタイミングに合わせて、SPI.setDataMode関数で設定してください。この設定はSPI.begin()でSPIの動作を開始する前に設定する必要があります。firstか設定するコマンドです。SCLKの分周比を設定します。Lazuriteのメインクロックは16MHzなので、それに合わせてSCLKの分周比を設定してください。SPIの初期化を行います。Read/Writeを行います。LSBFIRSTを指定します。SPIのMODE0~MODE3を指定するコマンドです。SCLKのクロックの分周比を指定します。SPIの終了を行います。Arduinoと差異がある関数です。Arduinoになく、Lazuriteにある関数です。Sub-GHzでは、BP3596モジュールに搭載されているML7395を制御するプログラムで使用しています。下記は、LazuriteIDE\hardware\lazurite_subghz\sub_ghz\CTI\hwif\hal_lazurite.cのプログラムです。HAL_SPI_setup(void)は、SPIブロックを初期化しています。HAL_SPI_transferは、wdataのポインタが示すデータからsizeバイトの値をMOSIから転送し、MISOから受信したデータをrdataに格納するプログラムです。driver_digitalWrite関数は、Arduino互換端子で公開されていない端子を使用するための関数で、機能はdigitalWriteと同じです。