dac - 数模转换#

常量#

常量

类型

解释

dac.HOST

number

USB主机模式

dac.open(ch, freq, bits, dac_chl)#

打开DAC通道,并配置参数

参数

传入值类型

解释

int

通道编号,例如0

int

输出频率,单位hz

int

深度,默认为16

int

通道选择,默认为0, 0:左声道, 1:右声道, 2:左右声道

返回值

返回值类型

解释

true

成功返回true,否则返回false

int

底层返回值,调试用

例子

if dac.open(0, 44000, 16, 0) then
    log.info("dac", "dac ch0 is opened")
end

dac.prepare(ch, buff)#

对波形数据预处理,一般是将音频的有符号数据转成DAC需要的无符号数据

参数

传入值类型

解释

int

通道编号,例如0

zbuff

输出波形数据,输出长度为zbuff:used()

返回值

返回值类型

解释

boolean

true 成功返回true,否则返回false

例子


dac.write(ch, data)#

从指定DAC通道输出一段波形,或者单个值

参数

传入值类型

解释

int

通道编号,例如0

int/string/zbuff

若输出固定值,可以填数值, 若输出波形,填string或者zbuff, 如果填zbuff, 输出长度为zbuff:used()

boolean

是否循环输出波形,true循环,false单次输出,留空是false,如果输出固定值,本参数无效

返回值

返回值类型

解释

boolean

true 成功返回true,否则返回false

int

底层返回值,调试用

例子

if dac.open(0, 44000) then
    log.info("dac", "dac ch0 is opened")
    dac.write(0, string.fromHex("ABCDABCD"))
end
dac.close(0)

dac.close(ch)#

关闭DAC通道

参数

传入值类型

解释

int

通道编号,例如0

返回值

返回值类型

解释

true

成功返回true,否则返回false

int

底层返回值,调试用

例子

if dac.open(0, 44000) then
    log.info("dac", "dac ch0 is opened")
    dac.write(0, string.fromHex("ABCDABCD"))
end
dac.close(0)

dac.on(func)#

注册全局DAC事件回调

参数

传入值类型

解释

function

回调方法

返回值

返回值类型

解释

nil

无返回值

例子

dac.on(function(ch, event, param)
    log.info("dac", ch, event, param)
end)
--回调参数有3个
1、ch
2、event
3、param,
event类型含义及后续param含义
1、dac.TX_DONE 发送完成,param为总长度