使用arduino IDE 1.8.8版 進行開發
選擇開發版 Node32s
相關使用參數與AVR系列差異不大
但是要注意的是
1.使用前的宣告
2.函式使用上的差異
arduino uno 使用時
-----------初始設定----------
SPI.setDataMode(mode);//SPI_MODE0 SPI_MODE1 SPI_MODE2 SPI_MODE3
SPI.setBitOrder(order); //LSBFIRST or MSBFIRST
SPI.setClockDivider(divider);//SPI_CLOCK_DIV2
//SPI_CLOCK_DIV4
//SPI_CLOCK_DIV8
//SPI_CLOCK_DIV16
//SPI_CLOCK_DIV32
//SPI_CLOCK_DIV64
//SPI_CLOCK_DIV128
SPI.begin();
-------讀取SPI資料時-------
digitalWrite(CHIP_SELECT, LOW);
SPI.transfer(0x00);//SPI.transfer16(0x00);
digitalWrite(CHIP_SELECT, HIGH);
ESP32使用時
-----------初始設定----------
hspi = new SPIClass(HSPI);
hspi->begin();
---------------------------------
-------讀取SPI資料時-------
hspi->beginTransaction(SPISettings(spiClk, MSBFIRST, SPI_MODE0));
var = hspi->transfer16(0x00);//SPI.transfer(0x00);
hspi->endTransaction();
---------------------------------
由於ESP32是32位元,在使用函式讀取時可以直接使用transfer16(0x00);或是transfer();
而arduino uno雖然也可以使用transfer16();函式,但是就其實就是讀取兩次,如下圖所示
光讀取速度ESP32就比UNO快很多了
沒有留言:
發佈留言