macです。 "fujiwara_dttech" <fujiwara@xxxxxxxxxxxx> wrote: > これを利用した回路図なんかないですよねぇ。 > すいません。 実は、H8の回路も、プログラムも手許にあるんですが、 私のWeekend Projectじゃなくって、会社の商売用だから、 公開できないんです。 でも、回路って言っても、たとえばP6を使うとして、 MMC H8 1 CS < P63 2 DI < P61 3 Vss - GND 4 Vdd - +3V 5 CLK < P62 6 Vss - GND 7 DO > P60 これで "<" と書いたところは5V->3Vのレベル変換。 ">"の方は3V->5Vのレベル変換(面倒なら直結 (^^; (実際は保護回路が入ってるけど)DI, DOはPullup #define SEMCS 0x08 // SEM chip select #define SEMSK 0x04 // SEM serial data clock #define SEMDI 0x02 // SEM serial data input #define SEMDO 0x01 // SEM serial data output static void sk(void) { P6DR |= SEMSK; P6DR &= ~SEMSK; } static void stdby(void) { P6DR &= ~(SEMCS | SEMDI); sk(); } static int gtdt(void) { int dt; register int i; for (i = dt = 0; i < NDAT; i++) { sk(); dt <<= 1; if ((P6DR & SEMDO) != 0) { dt |= 0x0001; } } stdby(); return (dt); } static void ptdt(int dt, int n) { register int i; dt <<= (sizeof(INT) << 3) - n; for (i = 0; i < n; i++) { if ((dt & 0x8000) != 0) { P6DR |= SEMCS | SEMDI; } else { P6DR = (P6DR & ~SEMDI) | SEMCS; } dt <<= 1; sk(); } } 見たいにして、1 bit送受するたび、CLKを送っていくだけなんだけど。 -- mac