跳转到内容

Alcor6L/PicoLisp/spi

来自维基教科书,开放的书籍,开放的世界

此模块包含用于访问 Alcor6L CPU SPI 接口的函数。

eLua(和 Alcor6L)中只实现了主 SPI 模式。

spi-setup

[编辑 | 编辑源代码]

设置 SPI 接口

(spi-setup id type clock cpol cpha databits)
  • id - SPI 接口的 ID。
  • type - SPI 接口类型,可以是 spi.MASTER 或 spi.SLAVE。注意:目前只支持主 SPI 模式。
  • clock - SPI 接口的时钟。
  • cpol - 时钟极性(0 或 1)。
  • cpha - 时钟相位(0 或 1)。
  • databits - SPI 数据字的长度。

返回值

  • clock - SPI 接口上设置的实际时钟。根据硬件,这可能与时钟参数的值不同。

选择 SPI 接口的 SS 线(从机选择)。这仅适用于具有专用 SS 引脚的 SPI 接口。

(spi-sson id)
  • id - SPI 接口的 ID。

返回值:NIL。

spi-ssoff

[编辑 | 编辑源代码]

取消选择 SPI 接口的 SS 线(从机选择)。这仅适用于具有专用 SS 引脚的 SPI 接口。

(spi-ssoff id)

参数

  • id - SPI 接口的 ID。

返回值:NIL。

spi-write

[编辑 | 编辑源代码]

向 SPI 接口写入一个或多个字符串/数字。

(spi-write id any1 [any2] ... [anyn])
  • id - SPI 接口的 ID。
  • any1 - 要发送的第一个符号/数字/列表。
  • any2(可选) - 要发送的第二个符号/数字/列表。
  • anyn(可选) - 要发送的第 n 个符号/数字/列表。

返回值:作为参数传递给 spi-write 的最后一个写入/值。

spi-readwrite

[编辑 | 编辑源代码]

PicoLisp 中尚未实现。参见 GitHub 上的 Issues

华夏公益教科书