2.10 SPI 模块API手册#

前言#

概述#

本文档主要介绍machine模块下的SPI类API。

读者对象#

本文档(本指南)主要适用于以下人员:

  • 技术支持工程师

  • 软件开发工程师

缩略词定义#

简称

说明

SPI

Serial Peripheral Interface

修订记录#

文档版本号

修改说明

修改者

日期

V1.0

初版

软件部

2023-10-23

1. 概述#

K230内部包含三个SPI硬件模块,片选的极性可配置;支持时钟速率可配。 通道输出IO配置参考IOMUX模块。

2. API描述#

SPI类位于machine模块下

2.1 示例#

from machine import SPI
# spi init clock 5MHz, polarity 0, phase 0, data bitwide 8bits
spi = SPI(id, baudrate=5000000, polarity=0, phase=0, bits=8)
# Sending data to the slave
spi.write(buf)
# Sending data while reading data to variables
spi.write_readinto(write_buf, read_buf)
# close spi
spi.deinit()

2.2 构造函数#

spi = machine.SPI(id, baudrate=20, polarity=0, phase=0, bits=8)

【参数】

  • id: SPI ID, [0~2] (spi.SPI0~spi.SPI2)

  • baudrate: SPI时钟baudrate,Fsclk_out=Fssi_clk/BAUDR

  • polarity: 极性

  • phase: 相位

  • bits: 数据位宽

2.3 read#

spi.read(nbytes)

读取指定的字节数

【参数】

  • nbytes: 读取长度

【返回值】

返回bytes对象

2.4 readinto#

spi.readinto(buf)

读入指定的缓冲区

【参数】

  • buf: bytearray类型的缓冲区

【返回值】

2.5 write#

spi.write(buf)

发送数据

【参数】

  • buf: bytearray 类型, 定义了数据及长度

【返回值】

2.6 write_readinto#

spi.write_readinto(write_buf, read_buf)

发送数据,同时读取数据到变量

【参数】

  • write_buf: bytearray 类型, 定义了需要发送的数据及长度

  • read_buf: bytearray 类型, 定义了接收数据存放的位置

【返回值】

2.7 deinit#

spi.deinit()

注销spi

【参数】

【返回值】