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 介面讀取的所有資料的字串。