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

SSPへの受信DMA取り付け

Syntax
C++
int32_t AG903_SSPMgrAttachRxDma(AG903_SSPMgrHandle* handle, uint8_t dma_ch, uint8_t dma_if);
引数 
説明 
AG903_SSPMgrHandle* handle 
[in] SSPハンドル 
uint8_t dma_ch 
[in] DMAチャンネル 
uint8_t dma_if 
[in] DMAインターフェース 

DMA取り付け結果

返値の詳細 
説明 
正常終了 
-AG903_EINVAL 
引数異常 
-AG903_EPERM 
状態異常(DMA取り付け済み等) 

SSPのデータ受信でライブラリが内部的に使用するDMAを取り付けます。 

実際にDMA転送するときは AG903_SSPMgrEnableDmaMode で転送方向を指定したうえで この関数でDMAを取り付け SSPライブラリにあるDMA転送用関数で受信してください。

この関数でDMAを取り付けない場合はCPU転送または外部プログラムによるDMA転送になります。 

DMAC割り込み(IRQ26)がシステム全体で禁止になっているときは別途許可してください。 

dma_ch,dma_ifはシステム全体で重複がないように選んでください。

1: int32_t AG903_SSPMgrAttachRxDma(AG903_SSPMgrHandle* handle, uint8_t dma_ch, uint8_t dma_if) 2: { 3: int32_t retval = AG903_ENONE; 4: uint8_t ch; 5: 6: retval = SSPMgr_CheckHandle(handle, &ch); 7: if(AG903_ENONE != retval) { 8: return -AG903_EINVAL; 9: } 10: 11: return SSPMgr_AttachDma(ch, AG903_SSP_DMA_DIR_RX, dma_ch, dma_if); 12: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.