logic mmc
I wanted to test the library and I have a 5v 16MHz ATmega128 board so the diodes and dividers was the quickest way to get it working with what I had in hand. I used a floppy disk connector to connect to the card and I took the MMC card from a Nokia 6600. I had the whole thing up and running only a few hours after finding the library.
There is no problem with the levels, the MMC card talks to the 128 using only the MISO line and this is connected directly so the 128 sees about 3.6V for high. The CS, Clock and MOSI to the MMC card are all dropped by the voltage dividers.
I didn't use the ffsample code provided but I took the mmc.c file and modified it. I wrote my own test code, very simple, open file, write 'Hello World!', close file. Put the card into my PC and checked for the file, all OK!
If you use the ffsample then use the USART to talk with Hyper Terminal but I was already using both USARTS.
You could of course run everything of around 3 volts and this is what's shown in the PNG that comes with ffsample but you cannot run your clock at 16MHz if you use low voltage.