全てを折りたたみ
AG903ライブラリリファレンス
AG903_DMACMgrGetHandle 関数
dmacmgr.c
DMAC Manager
Body Source
DMACハンドル取得
Syntax
C++
int32_t
AG903_DMACMgrGetHandle
(
int
ch
,
AG903_DMACMgrHandle
**
handle
);
ファイル
dmacmgr.c
引数
引数
説明
int ch
[in] DMACチャンネル番号
AG903_DMACMgrHandle ** handle
[out] DMACハンドル
返値
エラーコード
返値の詳細
返値の詳細
説明
AG903_ENONE
正常終了
-AG903_EINVAL
パラメータ異常
-AG903_EBUSY
ハンドル使用中
説明
DMACハンドルの取得 (ch指定)
本文ソース
コピコード
1: int32_t AG903_DMACMgrGetHandle(
int
ch,
AG903_DMACMgrHandle
**handle) 2: { 3:
if
(ch < 0 ||
AG903_DMAC_UNIT_NUM
<= ch || NULL == handle) 4: { 5:
return
-
AG903_EINVAL
; 6: } 7: 8:
if
(handle_used_flag[ch] ==
true
) 9: { 10:
return
-
AG903_EBUSY
; 11: } 12: 13: 14: uint32_t chpos = 1 << ch; 15:
AG903_DMACPrmSetTIMECOUNT_INT_CLEAR
(chpos); 16:
AG903_DMACPrmSetERR_ABORT_INT_CLEAR
(chpos, chpos, chpos); 17: 18: (*handle) = (
AG903_DMACMgrHandle
*)&handle_list[ch]; 19: handle_used_flag[ch] =
true
; 20: 21: handle_list[ch].unit_id = ch; 22: 23: handle_list[ch].cb_term = NULL; 24: handle_list[ch].cb_error = NULL; 25: handle_list[ch].cb_abt = NULL; 26: handle_list[ch].cb_wdt = NULL; 27: 28:
return
AG903_ENONE
; 29: }
グループ
DMAC Manager
リンク
dmacmgr.c
,
DMAC Manager
,
Body Source
Copyright (c) 2017-2025 Axell Corporation. All rights reserved.
内容
|
インデックス
|
ホーム