Connecting SIM900 to STM32F4 Nucleo
I am using a SIM900 myself with a different MCU. I can't comment on your code as such, but as others have mentioned the SIM900 is very picky about power supply. Make sure you are giving 4.5V. Throw in some bypass capacitors for good measure. We had an inductor on the input power which caused some problems. Not quite sure what was going on but once that inductor was replaced with a short we got much better results.

Are you monitoring the status lights from the SIM900? It is designed to have two LEDs, one on pin 66 - STATUS, and one on pin 52 - NETLIGHT. The status light should be on continuously, and the netlight LED should be blinking (slow if there's network, fast if there isn't). If you are not properly powering up the SIM900 you'll get nothing back (except for maybe some gibberish every now and then).