清除散列读准备的数据 - DmaScatterClear
函数简介
清除散列读句柄中已准备的所有数据,可以重新准备新的地址。(高级版功能,普通版无法使用)
接口名称
DmaScatterClear
DLL调用
int32_t OLA_CALL_TYPE DmaScatterClear(int64_t instance, int64_t scatterHandle);
参数定义:
instance(长整型数): OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。scatterHandle(长整型数): 散列句柄,由 DmaScatterCreate 返回
示例:
// 创建散列读句柄
int64_t scatterHandle = DmaScatterCreate(instance, deviceId, 1234);
// 第一批地址
DmaScatterPrepare(instance, scatterHandle, 0x400000, 4);
DmaScatterPrepare(instance, scatterHandle, 0x400010, 4);
DmaScatterExecute(instance, scatterHandle);
// 读取数据...
// 清除数据,准备新的地址
if (DmaScatterClear(instance, scatterHandle) == 1) {
printf("数据清除成功\n");
// 第二批地址
DmaScatterPrepare(instance, scatterHandle, 0x500000, 4);
DmaScatterPrepare(instance, scatterHandle, 0x500010, 4);
DmaScatterExecute(instance, scatterHandle);
// 读取新数据...
}
// 关闭句柄
DmaScatterClose(instance, scatterHandle);
返回值
整型数:
- 1: 成功
- 0: 失败
参数说明
清除操作:
- 清除所有已准备的地址
- 清除所有读取结果
- 句柄仍然有效,可以继续使用
应用场景
- 重复使用散列读句柄
- 切换读取地址集合
- 节省资源
相关接口
- DmaScatterCreate - 创建散列读句柄
- DmaScatterPrepare - 准备散列读地址
- DmaScatterClose - 关闭散列读句柄
