通用SPI接口

作者:许文婷

Air724UG模块提供1个通用SPI接口。 ## SPI接口管脚定义 | 管脚名 | 管脚号 | 上电状态 | I/O | 管脚描述 | 电气特性 | 作用 | 备注 | | ——————– | —— | —————- | —- | ——– | ———————————————————— | —————————- | ——————————– | | SPI1_DOUT(GPIO_11) | 55 | INPUT PULL_DOWN | IO | SPI接口 | VILmin=-0.3V VILmax=0.6V VIHmin=1.2V VIHmax=2.0V VOHmin= V_GLOBAL_1V8*0.7 VOLmax= V_GLOBAL_1V8*0.3 | 主设备数据输出 ,对应MOSI | 电压域是V_GLOBAL_1V8 不用则悬空 | | SPI1_DIN(GPIO_12) | 53 | INPUT PULL_DOWN | IO | SPI接口 | 同上 | 主设备数据输入,对应MISO | 同上 | | SPI1_CLK(GPIO_9) | 52 | INPUT PULL_DOWN | IO | SPI接口 | 同上 | 时钟信号,由主设备发出 | 同上 | | SPI1_CS(GPIO_10) | 54 | INPUT PULL_DOWN | IO | SPI接口 | 同上 | 从设备使能信号,由主设备控制 |同上 |

SPI接口连接方式

SPI它以主从方式工作,这种模式通常有一个主设备和一个或多 个从设备,目前模块只能做主设备,连接方式如下图所示: image1 当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需要将从设备对应的片选引脚电平拉低或者是拉高。


spi lua接口


spi.setup

初始化接口

  • 语法

spi.setup(id,chpa,cpol,dataBits,clock,duplexMode)
  • 参数

参数

释义

id

SPI的ID,spi.SPI_1表示SPI1,Ai r720只有SPI1,固定传spi.SPI_1即可

chpa

不支 持第几个clk的跳变沿传输数据,仅支 持0和1,0表示第1个,1表示第2个。

cpol

不支持spi_clk idle的状态,仅支 持0和1,0表示低电平,1表示高电平

dataBits

数据位,仅支持8

clock

spi时钟频率,number数 值,只能为6.5MHZ、13MHZ、26MHZ、5 2MHZ、3.25MHZ、1.625MHZ、812.5KHZ

duplex

不支 持是否全双工,仅支持0和1,0表示半 双工(仅支持输出),1表示全双工。

  • 返回值

number类型,1表示成功,0表示失败


spi.send()

写数据接口

  • 语法

spi.send(id,data)
  • 参数

参数

释义

id

SPI的ID,spi.SPI_1表 示SPI1,Air201、Air202、Air800只有SPI1,固定传spi.SPI_1即可

data

string类型,要发送的数据

  • 返回值

number类型,写成功的数据长度


spi.recv()

读数据接口

  • 语法

spi.recv(id,length)
  • 参数

参数

释义

id

SPI的ID,spi.SPI_1表示 SPI1,Air201、Air202、Air800只有SPI1,固定传spi.SPI_1即可

length

要读取的数据的长度

  • 返回值

string类型,读取的数据内容


spi.send_recv()

读写数据接口

  • 语法

spi.send_recv(id,data)
  • 参数

参数

释义

id

SPI的ID,spi.SPI_1表 示SPI1,Air201、Air202、Air800只有SPI1,固定传spi.SPI_1即可

data

string类型,要发送的数据

  • 返回值

string类型,读取的数据内容


spi.close()

关闭接口

  • 语法

spi.close(id)
  • 参数

|参数| 释义| |iid| SPI的ID,spi.SPI_1表示SPI1

  • 返回值

number类型,1表示成功,0表示失败


相关资料以及购买链接

相关开发板购买链接

Air724UG开发板

Air724 开发板使用说明

相关软件资料下载