AG903ライブラリリファレンス
内容インデックスホーム
前へ上へ次へ
AG903_SSPMgrSpiReceive 関数

データ受信 (SPIモード用)

Syntax
C++
int32_t AG903_SSPMgrSpiReceive(AG903_SSPMgrHandle* handle, void* buf, uint32_t num);
引数 
説明 
AG903_SSPMgrHandle* handle 
[in] SSPハンドル 
void* buf 
[in] データ受信先頭アドレス 
uint32_t num 
[in] 受信サイズ(単位[Word] 下記参照) 

受信結果

返値の詳細 
説明 
正常終了 
-AG903_EINVAL 
引数異常 
-AG903_EPERM 
状態異常 (SPIモードではない等) 

SPIモードのときデータを受信します。

この関数による受信を開始すると指定サイズでの受信完了後も AG903_SSPMgrSpiDisableTransfer で停止するまで無効な受信が継続します。 また受信中は常に不定なデータが送信されます。 

SPIモード以外では使用できません。 

完全に転送が完了するまで戻りません。 AG903_SSPMgrSpiReceiveDma の使用を推奨します。 

この関数は AG903_SSPMgrSpiEnableTransfer と組み合わせて使用します。 

転送の完了時の AG903_SSPMgrSetCallback によるコールバックはRTOSのタスクモードで呼ばれます。 

データワードのビット長とシリアライズについては AG903_SSPMgrSetReceiveBuf での説明と同様です。

1: int32_t AG903_SSPMgrSpiReceive(AG903_SSPMgrHandle* handle, void* buf, uint32_t num) 2: { 3: int32_t retval = AG903_ENONE; 4: uint8_t ch; 5: uint8_t dma_rx_enable; 6: 7: retval = SSPMgr_CheckHandle(handle, &ch); 8: if(AG903_ENONE != retval) { 9: return -AG903_EINVAL; 10: } 11: 12: dma_rx_enable = 0; 13: retval = SSPMgr_SpiReceiveTemplate(ch, buf, num, dma_rx_enable); 14: 15: return retval; 16: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.