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

コールバック解除

Syntax
C++
int32_t AG903_DMACMgrUnsetIntCallback(AG903_DMACMgrHandle * handle);
引数 
説明 
AG903_DMACMgrHandle * handle 
[in] DMACハンドル 

エラーコード

返値の詳細 
説明 
正常終了 
-AG903_EINVAL 
パラメータ異常 
-AG903_EFAULT 
割り込みハンドラ解除失敗 
-AG903_EPREM 
割り込みハンドラ未登録 

各種コールバックの解除 

以下のINTManager APIを使用します。 

AG903_INTMgrDeleteHandler 

 

この関数は内部でINTMgrを使用します。予めINTMgrを初期化して下さい。 

解除後もDMAC割り込み(IRQ26)は禁止にしていません。 必要に応じてミドルウェアを含めすべてのDMACチャンネルが未使用となった後 AG903_INTMgrDisableIntで禁止してください。

1: int32_t AG903_DMACMgrUnsetIntCallback(AG903_DMACMgrHandle *handle) 2: { 3: uint32_t unit = ((AG903_DMACMgrHandleStat*)handle - handle_list); 4: int32_t retval; 5: 6: 7: if(unit >= AG903_DMAC_UNIT_NUM || &handle_list[unit] != (AG903_DMACMgrHandleStat*)handle) 8: { 9: return -AG903_EINVAL; 10: } 11: 12: 13: if(dmac_int_init_flag == false || dmac_int_dmactc_hdrid <= 0) 14: { 15: return -AG903_EPERM; 16: } 17: 18: retval = AG903_INTMgrDeleteHandler(dmac_int_dmactc_hdrid); 19: if(retval < 0) 20: { 21: return -AG903_EFAULT; 22: } 23: 24: dmac_int_init_flag = false; 25: dmac_int_dmactc_hdrid = 0; 26: 27: return AG903_ENONE; 28: }
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.