statem - SM状态机#

已适配 Air780E Air780EP

备注

本页文档由这个文件自动生成。如有错误,请提交issue或帮忙修改后pr,谢谢!

小技巧

本库有专属demo,点此链接查看statem的demo例子

statem.create(count, repeat)#

创建一个新的状态机.

参数

传入值类型

解释

int

指令条数,默认32条

int

重复执行的次数, 0 代表不重复, 正整数代表具体重复执行的次数. 暂不支持永续执行

返回值

返回值类型

解释

some

若成功,返回状态机指针,否则返回nil

例子

gpio.setup(7, 0, gpio.PULLUP)
gpio.setup(12, 0, gpio.PULLUP)
gpio.setup(13, 0, gpio.PULLUP)
gpio.setup(14, 0, gpio.PULLUP)
local sm =  statem.create()
            :gpio_set(7, 0) -- gpio设置为低电平
            :usleep(10)     -- 休眠10us
            :gpio_set(7, 1) -- gpio设置为高电平
            :usleep(40)     -- 休眠40us
            :gpio_set(12, 1) -- gpio设置为高电平
            :gpio_set(13, 1) -- gpio设置为高电平
            :gpio_set(14, 1) -- gpio设置为高电平
            :usleep(40)      -- 休眠40us
            :gpio_set(7, 0) -- gpio设置为低电平
            :finish()

-- 执行之,后续会支持后台执行
sm:exec()