Folks,
I'm having the same problem. I have a shield with combined RTC and SD card. I've wired up the LCD (16 x 2) and it works perfectly when I use the simple sample code for the LCD. I've noticed that it also works fine when I integrate the code into my program which utilizes the RTC and SD card IF AND ONLY IF I write to the LCD before initializing the SD or RTC. Actually, I saw the comments about SPI conflicts etc, so I modified the pins for the LCD a few times and found that in the original configuration, I could write to the LCD successfully AFTER the RTC initialization, but not after the SD card. Then, after I switched the pins, and it ONLY works if I write to the LCD at the beginning of the Setup() function before both RTC and SD calls. I thought I understood the potential conflicts so I've wired the LCD to pins as follows:
LiquidCrystal lcd(7,8,9,6,5,0);
This doesn't seem to be using any pins that conflict, but maybe I'm missing something? I have an Uno and am also using pins 2-4 for an optical sensor so they are not avail. Thoughts on how to resolve the conflict? Oh, the problem I'm having is that any writes to the LCD are correct ahead of the RTC/SD initializations, but I get gibberish when I write after those calls.
Thanks,
Cameron