とりあえずmbedの成功例。
// mbed(LPC1768) gba serial port(color) // p1-0V 6-GND (blue) // p5-mosi 3-SI (orange) // p6-miso 2-SO (red) // p7-sck 5-SC (green) #include "mbed.h" LocalFileSystem local("local"); Serial pc(USBTX, USBRX); SPI spi(p5, p6, p7); int main(void) { spi.format(16, 3); spi.frequency(100000); uint16_t w1, w2; uint32_t w, r; pc.printf("Looking for GBA\n"); do { w = 0x00006202; w1 = w >> 16; w2 = w & 0xffff; r = spi.write(w1) << 16; r = spi.write(w2) | r; pc.printf("r:0x%08x\n", r); wait(0.01); } while(r != 0x72026202); pc.printf("Found GBA!\n"); }
■実行ログ
GBAはブートが完了してタイトルロゴが表示されている状態。mbedのリセットボタンを押した後のログ。
Looking for GBA r:0x00000000 r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0xffffffff r:0x00000000 r:0x72026202 Found GBA!
■ロジアナ
r:0x00000000
r:0x72026202
普通ですよねー。