Hii,
From what I read, the problem is you didn't have respond from your SIM 3000. When you want to read sms right?.
I try to share my expereince okay. I use simens C45, if the methode use AT Command, I think the problem is same.
First, the SMS format you must know, it contains :
1. SMS Centrer from the operator ex. 07912658050000F0
2. Code number for SMS receive ex. 04
3. SMS in text message ex.0000
4. Date when sms sent ex.509061
5. Time when sms sent ex.60331280
6. How long is the message + 1 ex. 0b ite means the sms contains 10 character
7. Message ex.F43ABD0E07ADEBEE711A (PDU FORMAT)
first try this :
1. Send AT+CNMI = 1,1,0,1,1 +chr(13) + chr(10) ==> chr 13 is carriage return
this is for the handset to give the microcontroller automatic warning when there
is new sms.
2. send AT+CMGR = 1 + chr(13) + chr(10)
when you send this you must prepare your microcontroller to receive data by
polling methode or interrupt methode. if you are already know how to handle the
interrupt, I think interrupt is the easiet way. But how you can recieve data until
the end of data. The answer is you must check every character and then store
every character at the array variabel until you get carriage return character
chr(13).
from your code: I think you are not using PDU format. So it's lot easier than use PDU format.