跳轉至內容

Alcor6L/eLua/spi

來自Wikibooks,開放世界中的開放書籍

此模組包含用於訪問eLua CPU的SPI介面的函式。

eLua中僅實現了主SPI模式。

spi.setup

[編輯 | 編輯原始碼]

設定SPI介面

clock = 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介面上設定的實際時鐘。根據硬體的不同,這可能與clock引數的值不同。

選擇SPI介面的SS線(從屬選擇)。這僅適用於具有專用SS引腳的SPI介面。

spi.sson( id )
  • id - SPI介面的ID。

返回值:無。

spi.ssoff

[編輯 | 編輯原始碼]

取消選擇SPI介面的SS線(從屬選擇)。這僅適用於具有專用SS引腳的SPI介面。

spi.ssoff( id )

引數

  • id - SPI介面的ID。

返回值:無。

spi.write

[編輯 | 編輯原始碼]

向SPI介面寫入一個或多個字串/數字。

spi.write( id, data1, [data2], ..., [datan] )
  • id - SPI介面的ID。
  • data1 - 要傳送的第一個字串/數字。
  • data2(可選) - 要傳送的第二個字串/數字。
  • datan(可選) - 要傳送的第n個字串/數字。

返回值:無。

spi.readwrite

[編輯 | 編輯原始碼]

向SPI介面寫入一個或多個字串/數字,並返回從同一介面讀取的資料。

data = spi.readwrite( id, data1, [data2], ..., [datan] )
  • id - SPI介面的ID。
  • data1 - 要傳送的第一個字串/數字。
  • data2(可選) - 要傳送的第二個字串/數字。
  • datan(可選) - 要傳送的第n個字串/數字。

返回值

  • data - 包含從SPI介面讀取的所有資料的陣列。
華夏公益教科書