close
Microchip 提供軟體與硬體的SPI通訊程式庫,
當有兩個MCP要使用SPI通訊時,
一個要當Master, 而另一個要成為Slave,
SPI通訊需要4條訊號線, 分別是SDI, SDO, SCK, CS,
在使用c18來撰寫SPI程式時,
腳位方向的定義很重要,
如當Master的MCU,
SDO TRIS = output
SDI TROS = input
SCK TRIS = output
CS TRIS = output
在Slave端, 腳位方向的定義為
SDO TRIS = output
SDI TROS = input
SCK TRIS = input
CS TRIS = intput
以c18語言為例, 首先要設定SPI功能, 使用Microchip提供的函數庫:
OpenSPI(sync_mode,bus_mode,smp_phase )
OpenSPI()的內容會依不同的MCU而有所不同
其中, Master須設定sync_mode = SPI_FOSC_64 (主要時序由MASTER CLOCK決定)
而Slave則是設訂sync_mode = SLV_SSON
注意Master與Slave的指令周期最好一致,
Master與Slave之間的資料傳輸能連接的上,
建立連線之後的2個MCU則是使用 WriteSPI(), 與ReadSPI()來做寫入與讀取資料,
結束時用CloseSPI()來結束兩者間的通訊 ~~~~
註: 這裡的SPI是硬體的SPI.
文章標籤
全站熱搜