Alcor6L/PicoLisp/i2c
外观
< Alcor6L
该模块包含用于访问 Alcor6L CPU 的 I2C 接口的函数。
eLua(和 Alcor6L)中只实现了主 I2C 模式。
设置 I2C 接口。
(i2c-setup id speed)
- id - I2C 接口的 ID。
- speed - I2C 接口的时钟频率。可以是 *i2c-fast*(400KHz)、*i2c-slow*(100KHz)或一个表示所需 I2C 总线时钟速度的数字(单位:Hz)。
返回值
- speed - I2C 接口的实际速度。
在指定的 I2C 接口上发送 START。
(i2c-start id)
- id - I2C 接口的 ID。
返回值:NIL。
在指定的 I2C 接口上发送 STOP。
(i2c-stop id)
- id - I2C 接口的 ID。
返回值:NIL。
在 I2C 接口上发送地址。
(i2c-address id address direction)
- id - I2C 接口的 ID。
- address - 地址。
- direction - 如果主设备要发送数据,则为 *i2c.transmitter*;如果主设备要接收数据,则为 *i2c-receiver*。
返回值
- asked - 如果 I2C 从设备确认了地址,则为 true;否则为 false。
将数据写入已确认 i2c-address 调用的从设备。
(i2c-write id any1 [any2] ... [anyn] )
- id - I2C 接口的 ID。
- any1 - 要发送的数据。可以是 0 到 255 之间的数字、符号或列表。
- any2(可选) - 要发送的第二个数据。
- anyn(可选) - 要发送的第 n 个数据。
返回值
- wrote - 实际写入的字节数。
(i2c-read id numbytes)
从已确认 i2c-address 调用的从设备读取一定数量的字节。它确认接收到的所有字节,除了最后一个字节。
- id - I2C 接口的 ID。
- numbytes - 要读取的字节数。
返回值
- data - 从 I2C 接口读取的所有数据的字符串。