通用SPI接口¶
概述¶
Air720UH/Air720UG模块提供1个通用SPI接口。 ## SPI接口管脚定义
管 脚名 |
管 | 上 脚 | 电 号 | 状
|
O |
管 | 电气特性 脚 | 描 | 述 | |
作用 |
备注 |
||
---|---|---|---|---|---|---|---|
S PI1_D OUT( GPIO _11) |
3 7 |
IN PUT PUL L_D OWN |
I O |
S | VILmin=-0.3V P | VILmax=0.6V I | VIHmin=1.2V 接 | VIHmax=2.0V VOHmin= 口 | V_GLOBAL_1V8*0.7
|
主设备 数据输出 , 对应MOSI |
电压域是V_ GLOBAL_1V8 不用则悬空 |
|
SPI1_ DIN( GPIO _12) |
3 8 |
IN PUT PUL L_D OWN |
I O |
S | 同上 P | I | 接 | 口 | |
主设备数 据输入, 对应MISO |
同上 |
|
SPI 1_CLK (GPI O_9) |
3 9 |
IN PUT PUL L_D OWN |
I O |
S | 同上 P | I | 接 | 口 | |
时钟信 号,由主 设备发出 |
同上 |
|
SPI1 _CS( GPIO _10) |
4 0 |
IN PUT PUL L_D OWN |
I O |
S | 同上 P | I | 接 | 口 | |
从设 备使能信 号,由主 设备控制 |
同上 |
SPI接口连接方式¶
SPI它以主从方式工作,这种模式通常有一个主设备和一个或多 个从设备,连接方式如下图所示: 当有多个从设备的时候,因为每个从设备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需要将从设备对应的片选引脚电平拉低或者是拉高。
## spi lu a接 口 |
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表示失败