ESP8266でSC16IS750を使う

SPIインタフェース



前回
はESP8266+i2cで使いましたが、今回はESP8266+SPIで使います。
ESP8266のSPIで使う場合の結線はATmega328と全く同じです。
SC16IS750 ESP8266 備考
i2c-SPI GND i2c/SPIの切り替え
A0-CS CS(IO15) スケッチ上でピンを指定
A1-SI MOSI(IO13)
NC-SO MISO(IO12)
SCL-SCK SCK(IO14)
SDA-VSS GND
/IRQ N/C 基板上でPullUpされている
RESET N/C 基板上でPullUpされている
VIN 5V
GND GND



以下の様にCSの指定だけ変更し、TXとRXをクロスで結線しライブラリに付属するSPISELFTESTを動かしてみましが、全く問題なく動き ました。
#include <SPI.h>
#include <Wire.h>
#include <SC16IS750.h>
#include <string.h>

#ifdef __AVR__
 #define CS 6
#elif ESP8266 // ESP8266
 #define CS 15
#endif

//SC16IS750 spiuart = SC16IS750(SC16IS750_PROTOCOL_SPI,6);
SC16IS750 spiuart = SC16IS750(SC16IS750_PROTOCOL_SPI,CS);

(以下省略)

同じようにCSの指定だけ一部変更し、こちらのATmegaと同じ以下のスケッ チで230,400bpsで通信できることを確認しました。
ほとんどの場合、ATmega328用に作られたライブラリは、何かしら手を入れないとESP8266では動きませんが、
これだけあっさりと動くのも珍しいです。

続く...