2022/10/13(木)
MaixduinoにおけるK210とESP32の間の交信方法を調べた。基板上でSPIで繋がっており、結論から言うとこういう感じで通信できる。K210がマスタ、ESP32がスレーブになる。
K210側(MaixPy):
from machine import SPI
spi = SPI(SPI.SPI1, mode=SPI.MODE_MASTER, baudrate=500000, polarity=0, phase=0, bits=8, firstbit=SPI.MSB, sck=27, mosi=28, miso=26, cs0=25)
ESP32(C++): SPIS.cppとSPIS.hをここから持ってくる。
SPIS.begin(); // 開始
SPIS.transfer(NULL, buf, SPI_BUFFER_LEN); // 受信
SPIS.transfer(buf, NULL, datalength); // 送信
なんか良く分からんのだが、通信すると最後の2byteくらいがランダムに化けたり化けなかったりする。クソ。下記の記事によると末尾4byteがなんか変なことになる旨が書いてあるのでそれかもしれない。
https://rabbit-note.com/2019/01/20/esp32-arduino-spi-slave/
最近再び生活習慣が崩れている。よろしくない。
Categories: 未分類