西安便宜的网站建设,贵州最新新闻,东莞寮步二手车市场,做视频教育网站ioqueue.init(hwtimer_id,cmd_cnt,repeat_cnt)
初始化一个io操作队列
参数 传入值类型 解释 int 硬件定时器id#xff0c;默认用0#xff0c;根据实际MCU确定#xff0c;air105为0~5#xff0c;与pwm共用#xff0c;同一个通道号不能同时为pwm和ioqueue int 一个完…ioqueue.init(hwtimer_id,cmd_cnt,repeat_cnt)
初始化一个io操作队列
参数 传入值类型 解释 int 硬件定时器id默认用0根据实际MCU确定air105为0~5与pwm共用同一个通道号不能同时为pwm和ioqueue int 一个完整周期需要的命令可以比实际的多 int 重复次数,默认是1如果写0则表示无限次数循环 return 无
返回值
无
例子
ioqueue.init(0,10,5) --以timer0为时钟源初始化一个io操作队列有10个有效命令循环5次ioqueue.setdelay(hwtimer_id,time_us,time_tick,continue)
对io操作队列增加延时命令
参数 传入值类型 解释 int 硬件定时器id int 延时时间,0~65535us int 延时微调时间,0~255tick,总的延时时间是time_us * 1us_tick time_tick boolean 是否连续是连续延时默认否如果是定时器在时间到后不会停止而是重新计时
返回值
无
例子
无 ioqueue.delay(hwtimer_id)
对io操作队列增加一次重复延时在前面必须有setdelay且是连续延时
参数 传入值类型 解释 int 硬件定时器id return 无
返回值
无
例子
ioqueue.setdelay(0,9,15,true) --延时9us15个tick,在之后遇到delay命令时会延时9us15个tick
ioqueue.delay(0)ioqueue.setgpio(hwtimer_id,pin,is_input,pull_mode,init_level)
对io操作队列增加设置gpio命令
参数 传入值类型 解释 int 硬件定时器id int pin boolean 是否是输入 int 上下拉模式,只能是0,gpio.PULLUP,gpio.PULLDOWN int 初始输出电平 return 无
返回值
无
例子
ioqueue.setgpio(0,pin.PB01,true,gpio.PULLUP,0) --PB01设置成上拉输入
ioqueue.setgpio(0,pin.PB01,false,0,1)--PB01设置成默认上下拉输出高电平ioqueue.input(hwtimer_id,pin)
对io操作队列增加读取gpio命令
参数 传入值类型 解释 int 硬件定时器id int pin return 无
返回值
无
例子
ioqueue.input(0,pin.PB01)ioqueue.output(hwtimer_id,pin,level)
对io操作队列增加输出GPIO命令
参数 传入值类型 解释 int 硬件定时器id int pin int 输出电平 return 无
返回值
无
例子
ioqueue.output(0,pin.PB01,0)ioqueue.setcap(hwtimer_id,pin,pull_mode,irq_mode,max_tick)
对io操作队列增加设置捕获某个IO命令
参数 传入值类型 解释 int 硬件定时器id int pin int 上下拉模式,只能是0,gpio.PULLUP,gpio.PULLDOWN int 中断模式,只能是gpio.BOTH,gpio.RISING,gpio.FALLING int 定时器最大计时时间 考虑到lua是int类型最小0x10000, 最大值为0x7fffffff默认为最大值 return 无
返回值
无
例子
ioqueue.setcap(0,pin.PB01,gpio.PULLUP,gpio.FALLING,48000000)ioqueue.capture(hwtimer_id)
对io操作队列增加捕获一次IO状态命令
参数 传入值类型 解释 int 硬件定时器id return 无
返回值
无
例子
ioqueue.capture(0)ioqueue.capend(hwtimer_id,pin)
对io操作队列增加结束捕获某个IO命令
参数 传入值类型 解释 int 硬件定时器id int pin return 无
返回值
无
例子
ioqueue.capend(0,pin.PB01)ioqueue.get(hwtimer_id, input_buff, capture_buff) 获取io操作队列中输入和捕获的数据
参数 传入值类型 解释 int 硬件定时器id zbuff 存放IO输入数据的buff按照1byte pin 1byte level 形式存放数据 zbuff 存放IO捕获数据的buff按照1byte pin 1byte level 4byte tick形式存放数据
返回值 返回值类型 解释 int 返回多少组IO输入数据 int 返回多少组IO捕获数据
例子
local input_cnt, capture_cnt ioqueue.get(0, input_buff, capture_buff)ioqueue.start(hwtimer_id)
启动io操作队列
参数 传入值类型 解释 int 硬件定时器id return 无
返回值
无
例子
ioqueue.start(0)ioqueue.stop(hwtimer_id)
停止io操作队列可以通过start从头开始
参数 传入值类型 解释 int 硬件定时器id
返回值 返回值类型 解释 int 返回已经循环的次数如果是0表示一次循环都没有完成 int 返回单次循环中已经执行的cmd次数如果是0可能是一次循环刚刚结束
例子
ioqueue.stop(0)ioqueue.release(hwtimer_id)
释放io操作队列的资源下次使用必须重新init
参数 传入值类型 解释 int 硬件定时器id return 无
返回值
无
例子
ioqueue.clear(0)ioqueue.clear(hwtimer_id)
清空io操作队列
参数 传入值类型 解释 int 硬件定时器id return 无
返回值
无
例子
ioqueue.clear(0)ioqueue.done(hwtimer_id)
检测io操作队列是否已经执行完成
参数 传入值类型 解释 int 硬件定时器id
返回值 返回值类型 解释 boolean 队列是否执行完成
例子
local result ioqueue.done(0)ioqueue.exti(pin,pull_mode,irq_mode,onoff)
启动/停止一个带系统tick返回的外部中断
参数 传入值类型 解释 int pin int 上下拉模式,只能是0,gpio.PULLUP,gpio.PULLDOWN int 中断模式,只能是gpio.BOTH,gpio.RISING,gpio.FALLING boolean 开关默认是false关 return 无
返回值
无
例子
ioqueue.exti(pin.PB01, gpio.PULLUP, gpio.BOTH, true)
ioqueue.exti(pin.PB01)