以下は、SPI通信部分の備忘録です。
18F2620のMSSPモジュール(SPI)を使ってISD4002をコントロールするには、mikroC Pro 3.8のSPI関連のライブラリを使う 。
SPIの初期化は、 SPI1_Init_Advanced(_SPI_MASTER_OSC_DIV4, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_LOW_2_HIGH); // セラロック20MHz とする。SPI1_Init();ではうまく動作しない。 ISD4002はSPI受信部分で、1バイトまたは2バイトのデータを受信するが、SPIシリアル通信でLSBが最初に受信されなければならない。
mikroCのSPI1_Write(bytedata)では、bytedataのMSBビットから順に送信してしまうので送信するデータはあらかじめビット並びを逆にしておく必要がある。
PIC18F2620とISD4002のSPI通信部分は3.3Vでプルアップしておく。(プルアップなしでも動作する)
