ソースを参照

update: spi,对于全双工模式,trans函数要说明清楚收发长度需要一致

Wendal Chen 3 ヶ月 前
コミット
9487ce125f
1 ファイル変更5 行追加5 行削除
  1. 5 5
      luat/modules/luat_lib_spi.c

+ 5 - 5
luat/modules/luat_lib_spi.c

@@ -17,8 +17,8 @@ spi.setup(0,nil,0,0,8,2000000,spi.MSB,1,1)
 local result = spi.send(0, "123")--发送123
 local result = spi.send(0, "123")--发送123
 local recv = spi.recv(0, 4)--接收4字节数据
 local recv = spi.recv(0, 4)--接收4字节数据
 spi.close(0)
 spi.close(0)
--- 新API
-local spi_device = spi.deviceSetup(0,17,0,0,8,2000000,spi.MSB,1,1)
+-- 新API, 注意spi_device是一个对象,选一个全局名称, 避免被回收
+spi_device = spi.deviceSetup(0,17,0,0,8,2000000,spi.MSB,1,1)
 local result = spi_device:send("123")--发送123
 local result = spi_device:send("123")--发送123
 local recv = spi_device:recv(4)--接收4字节数据
 local recv = spi_device:recv(4)--接收4字节数据
 spi_device:close()
 spi_device:close()
@@ -321,7 +321,7 @@ static int l_spi_close(lua_State *L) {
 @int SPI号(例如0)或软件SPI对象
 @int SPI号(例如0)或软件SPI对象
 @string/zbuff 待发送的数据,如果为zbuff数据,则会从对象所处的指针处开始读
 @string/zbuff 待发送的数据,如果为zbuff数据,则会从对象所处的指针处开始读
 @int 可选。待发送数据的长度,默认为data长度
 @int 可选。待发送数据的长度,默认为data长度
-@int 可选。读取数据的长度,默认为1
+@int 可选。读取数据的长度,默认为1. 注意, 如果是全双工模式,收发长度必须相等
 @return string 读取成功返回字符串,否则返回nil
 @return string 读取成功返回字符串,否则返回nil
 @usage
 @usage
 -- 初始化spi
 -- 初始化spi
@@ -485,7 +485,7 @@ static int l_spi_recv(lua_State *L) {
 
 
 /**
 /**
 发送SPI数据
 发送SPI数据
-@api spi.send(id, data[, len])
+@api spi.send(id, data, len)
 @int SPI号,例如0
 @int SPI号,例如0
 @string/zbuff 待发送的数据,如果为zbuff数据,则会从对象所处的指针处开始读
 @string/zbuff 待发送的数据,如果为zbuff数据,则会从对象所处的指针处开始读
 @int 可选。待发送数据的长度,默认为data长度
 @int 可选。待发送数据的长度,默认为data长度
@@ -601,7 +601,7 @@ static int l_spi_device_close(lua_State *L) {
 @userdata spi_device
 @userdata spi_device
 @string/zbuff 待发送的数据,如果为zbuff数据,则会从对象所处的指针处开始读
 @string/zbuff 待发送的数据,如果为zbuff数据,则会从对象所处的指针处开始读
 @int 可选。待发送数据的长度,默认为data长度
 @int 可选。待发送数据的长度,默认为data长度
-@int 可选。读取数据的长度,默认为1
+@int 可选。读取数据的长度,默认为1. 注意, 如果是全双工模式,收发长度必须相等
 @return string 读取成功返回字符串,否则返回nil
 @return string 读取成功返回字符串,否则返回nil
 @usage
 @usage
 -- 初始化spi
 -- 初始化spi