sfd - SPI FLASH操作库

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

sfd.init(type, spi_id, spi_cs)

初始化spi flash

参数

传入值类型

解释

string

类型, 可以是spi, 也可以是zbuff

int

SPI总线的id, 或者 zbuff实例

int

SPI FLASH的片选脚对应的GPIO, 当类型是spi时才需要传

返回值

返回值类型

解释

userdata

成功返回一个数据结构,否则返回nil

例子

local drv = sfd.init("spi", 0, 17)
if drv then
    log.info("sfd", "chip id", sfd.id(drv):toHex())
end

sfd.status(drv)

检查spi flash状态

参数

传入值类型

解释

userdata

sfd.init返回的数据结构

返回值

返回值类型

解释

int

状态值,0 未初始化成功,1初始化成功且空闲,2正忙

例子

local drv = sfd.init(0, 17)
if drv then
    log.info("sfd", "status", sfd.status(drv))
end

sfd.read(drv, offset, len)

读取数据

参数

传入值类型

解释

userdata

sfd.init返回的数据结构

int

起始偏移量

int

读取长度,当前限制在256以内

返回值

返回值类型

解释

string

数据

例子

local drv = sfd.init(0, 17)
if drv then
    log.info("sfd", "read", sfd.read(drv, 0x100, 256))
end

sfd.write(drv, offset, data)

写入数据

参数

传入值类型

解释

userdata

sfd.init返回的数据结构

int

起始偏移量

string

需要写入的数据,当前支持256字节及以下

返回值

返回值类型

解释

boolean

成功返回true,失败返回false

例子

local drv = sfd.init(0, 17)
if drv then
    log.info("sfd", "write", sfd.write(drv, 0x100, "hi,luatos"))
end

sfd.erase(drv, offset)

写入数据

参数

传入值类型

解释

userdata

sfd.init返回的数据结构

int

起始偏移量

返回值

返回值类型

解释

boolean

成功返回true,失败返回false

例子

local drv = sfd.init(0, 17)
if drv then
    log.info("sfd", "write", sfd.erase(drv, 0x100))
end

sfd.id(drv)

芯片唯一id

参数

传入值类型

解释

userdata

sfd.init返回的数据结构

返回值

返回值类型

解释

string

8字节(64bit)的芯片id

例子

local drv = sfd.init(0, 17)
if drv then
    log.info("sfd", "chip id", sfd.id(drv))
end