Arduino上的SPI跟ICSP是有關聯的兩個概念,SPI是通訊匯流排,ICSP是線上燒錄程式的介面,後者使用SPI通訊。
我們先看Arduino 2560的SPI引腳:
50--MISO
51--MOSI
52--SCK
53--SS
再看ICSP的引腳:
1--MISO
2--VCC
3--SCK
4--MOSI
5--RESET
6--GND
可以發現,ICSP是相容SPI的,因為ICSP是燒錄程式用的,所以多了RESET以及電源引腳。除了片選腳,其餘的SPI引腳都可以接入ICSP中對應腳。
一個很好的例子就是,W5100網路模組就是採用SPI匯流排通訊,而MEGA系列、UNO相容的arduino之間SPI匯流排的引腳的位置是不相同的,但是它們的ICSP引腳的位置是相同的,所以W5100使用了ICSP裡的SPI引腳來實現通訊的。
Arduino上的SPI跟ICSP是有關聯的兩個概念,SPI是通訊匯流排,ICSP是線上燒錄程式的介面,後者使用SPI通訊。
我們先看Arduino 2560的SPI引腳:
50--MISO
51--MOSI
52--SCK
53--SS
再看ICSP的引腳:
1--MISO
2--VCC
3--SCK
4--MOSI
5--RESET
6--GND
可以發現,ICSP是相容SPI的,因為ICSP是燒錄程式用的,所以多了RESET以及電源引腳。除了片選腳,其餘的SPI引腳都可以接入ICSP中對應腳。
一個很好的例子就是,W5100網路模組就是採用SPI匯流排通訊,而MEGA系列、UNO相容的arduino之間SPI匯流排的引腳的位置是不相同的,但是它們的ICSP引腳的位置是相同的,所以W5100使用了ICSP裡的SPI引腳來實現通訊的。