I'm connecting a dsPIC30F microcontroller to a GHI Electronics uALFAT-tf board (writes to a micro sdcard in FAT format). The dsPIC runs off 5V and the uALFAT runs off 3.3V but the inputs are 5V tolerant. So far I've had no problems transmitting via UART from the dsPIC to the uALFAT, but for some reason I'm having problems going the other direction. When the uALFAT writes to the dsPIC, the dsPICs buffer shows that it's loaded, but when I try to read from the buffer I usually on get the "h" character (sometimes a "g" or "i" or "e" but mostly "h"). *Note: These are the first characters that automatically come from the uALFAT when it's turned on, spelling out "ghi electronics......etc."*
I'm trying to get the onboard clock time from the uALFAT so I should be getting numbers. It seems like the "h" character gets stuck in the buffer, but if that's the case, why does the 'character ready' register go high? I might be totally wrong, but the only lead I have now is that the dsPIC register is having problems with the 0-3.3V logic levels, but I don't know why it should. I haven't been able to test this theory cause I can't find a simple way to bump the 3.3V to 5V. I tried a PNP 2907, but the delay was so long that it just mushed the signal.
I'm really desperate. I should have had this project done last week. Any help is appreciated.