5. API 関数仕様
5.2 シリアルインターフェース制御関数(クロック同期式)
シリアルインタフェース制御関数(クロック同期式)は、クロック同期式シリアルインタフェースを介 して、ホストCPUとS1V50300との間でデータ送受信の制御を行う関数です。
5.2.1 SPIInitialize
[構文]
void SPIInitialize (void)
[機能]
ホストCPUのクロック同期式シリアルインターフェースの初期化及び通信設定を行います。
[入力引数]
なし
[出力引数]
なし
[戻り値]
なし
[機能説明]
ホストCPU搭載のクロック同期式シリアルインタフェースモジュールの初期化を行います。
本関数では、弊社評価環境で使用したホスト CPUのクロック同期式シリアルインターフェー ス(SPI)仕様に基づいて、以下に示す手順で初期化を行っています。
(1) SPIを無効にする。
(2) SPIの割り込み設定を無効にする。
(3) 入出力端子の設定を行う。
(4) SPIのクロック周波数を設定する。
(5) SPIのクロック信号の極性および位相を設定する。
(6) SPIをマスタモードに設定する。
(7) データ転送間ウェイトサイクルを設定する。
(8) 受信データのビットマスクを設定する。
(9) SPIを有効にする。
5. API 関数仕様
5.2.2 SPISendMessage
[構文]
int SPISendMessage (
unsigned char *pucSendMessage, unsigned char ucCheckSumFlg)
[機能]
S1V50300にREQメッセージを送信します。
[入力引数]
pucSendMessage REQメッセージが格納されたメモリ領域の先頭アドレスを設定します。
ucCheckSumFlg チェックサムの有効/無効を設定します(0: disable / 1: enable)
[出力引数]
なし
[戻り値]
正常終了した場合は0を返し、それ以外は以下に示すエラーコードを返します。
エラーコード 値 説明
ERR_SUCCESS 0 正常終了した場合に返します
ERR_NULL_PTR -1 引数がNULLポインタの場合に返します
[機能説明]
引数指定したREQメッセージのバイト列をS1V50300に送信します。
チェックサム機能は、Bootモードメッセージの送信のときのみ使用できます。Mainモードメッ セージの送信では、チェックサム機能を有効にしても使用できませんのでご注意ください。
5.2.3 SPIReceiveMessage
[構文]
int SPIReceiveMessage (
unsigned short *pucMessageID, unsigned char *pucReceivedMessage)
[機能]
S1V50300からのINDメッセージを受信します。
[入力引数]
なし
[出力引数]
pucMessageID INDメッセージのメッセージIDを格納する変数のポインタを設定 します。
pucReceivedMessage IND メッセージを格納するメモリ領域の先頭アドレスを設定しま す。
[戻り値]
正常終了した場合は0を返し、それ以外は以下に示すエラーコードを返します。
エラーコード 値 説明
ERR_SUCCESS 0 正常終了した場合に返します
ERR_NULL_PTR -1 引数がNULLポインタの場合に返します ERR_GET_ERROR_CODE -2 S1V50300 か ら の 受 信 メ ッ セ ー ジ に エ
ラーコードが含まれている場合に返しま す
ERR_RESERVED_MESSAGE_ID -3 S1V50300 からの受信メッセージが予約 されたIDの場合に返します
ERR_ISC_VERSION_RESP -4 ISC_VERSION_RESP の内容が仕様に一 致しない場合に返します
ERR_TIMEOUT 1 設 定 し た タ イ ム ア ウ ト 時 間 内 に 、 S1V50300 から通知されるメッセージが 受信されない場合に返します
[機能説明]
S1V50300から通知されるINDメッセージを受信します。
出力引数であるpucReceivedMessageIDには、取得したINDメッセージのIDの値が格納されま す。また、pucReceivedMessageで指定されるメモリ領域には、INDメッセージのデータ全体が 格納されます(開始ワードである0x00 0xAAを除く)。本関数の外でINDメッセージのデー タを使用しない場合は、pucReceivedMessageにNULLを指定してくだい。
5. API 関数仕様
5.2.4 SPISendByte
[構文]
void SPISendByte (
unsigned char ucSendData)
[機能]
1バイトのデータを送信します。
[入力引数]
ucSendData 1バイトの送信データを設定します。
[出力引数]
なし
[戻り値]
なし
[機能説明]
S1V50300へ1バイトのデータをSPI経由で送信します。
5.2.5 SPIReceiveByte
[構文]
unsigned char SPIReceiveByte ( void )
[機能]
1バイトのデータを受信します。
[入力引数]
なし
[出力引数]
なし
[戻り値]
1バイトの受信データを返します。
[機能説明]
S1V50300から1バイトのデータをSPI経由で受信します。