ADコンバーターMCP3008 / SPI
PC-G850VS / ミニI/OにADコンバーターMCP3008を接続する - Qiitaで作ったプログラムではあまりに遅いのでループを全部開いた。 unsigned int ad_read(unsigned char ch){ unsigned int ad_val; /*start bit*/ miniput(1); miniput(4); miniput(6); /*single-…
一往動いたので現状で固めておく。 ▶MCP3008.cpp for micro:bit #include "MicroBit.h" SPI spi(MOSI, MISO, SCK); MicroBitSerial serial(USBTX, USBRX); // Use P16 as !CS pin. MicroBitPin CS(MICROBIT_ID_IO_P16, MICROBIT_PIN_P16, PIN_CAPABILITY_DIG…
チャンネル0が読めるかどうか確かめる。 1サンプルの所要時間が70msec弱という遅さであるが一往読めている。 main(){ unsigned char mosi[36] = {3,4,6,4,6,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,0,2,1}; unsigned char miso[10]; unsig…
#include "MicroBit.h" SPI spi(MOSI, MISO, SCK); MicroBitSerial serial(USBTX, USBRX); MicroBitPin CS(MICROBIT_ID_IO_P16, MICROBIT_PIN_P16, PIN_CAPABILITY_DIGITAL); int main(void){ CS.setDigitalValue(1); char mosi[] = {1, 0b10000000, 0}; cha…
参考: SPI — BBC micro:bit MicroPython 0.5.0 documentation from microbit import * StartByte = 1 SingleOrDiff = 1 whichCH = 0 DummyByte = 0 CS = pin16.write_digital # 3バイトを書き込んで3バイトを読み出す。 # [0]バイト目として0b 0000 0001をwr…
まずMCP3008とは無関係にSPIの4つのモードを確認してみる。見てわかりやすいよう、HLHLHLHLという信号をマスターから出してみる。 from microbit import * spi.init(mode=0) spi.write(bytes([0b10101010])) モード0の場合: モード1の場合: モード2の場合: …