من جدیدا با SIM 900 به یه مشکل جدید برخورد کردم.قبلا این مشکل نبود.
دستور"PRINT"AT+CMGR=1 برای خوندن اس ام اس خانه شماره یک به ما
ژول SIM900می دم.هدف از خواندن اس ام اس استخراج شماره تلفن از متن اس ام اس است.
در برگشت ماژول همون عبارتAT+CMGR=1 برمی گردونه.یعنی تو متغیر حاوی متن اس ام اس این عبارت قرار می گیره.
و چون مقدار98+ تو متن عبارت بالا نیست بنابراین استخراج صورت نمی گیره. البته اینو هم بگم من در یک زیر برنامه می خوام این شماره رو استخراج کنم .در برنامه اصلی یه بار دستورAT+CMGR=1به ماژول ارسال و متن اس ام اس با موفقیت دریافت میشه.و براساس متن اس ام اس در یک دستو شرطی به زیر برنامه استخراج شماره فرستاده میشه که این بار مشکل بالاایجاد میشه.
برای حل این مشکل عبارت AT+CMGF=1 هم در اول برنامه دادم ولی نشد.
چرا اینجوری میشه؟اساتید راهنمایی کنند.
ممنون
کد برنامه:
متغیر TMPشماره تلفن هستش که خالی بر میگرده.
دستور"PRINT"AT+CMGR=1 برای خوندن اس ام اس خانه شماره یک به ما
ژول SIM900می دم.هدف از خواندن اس ام اس استخراج شماره تلفن از متن اس ام اس است.
در برگشت ماژول همون عبارتAT+CMGR=1 برمی گردونه.یعنی تو متغیر حاوی متن اس ام اس این عبارت قرار می گیره.
و چون مقدار98+ تو متن عبارت بالا نیست بنابراین استخراج صورت نمی گیره. البته اینو هم بگم من در یک زیر برنامه می خوام این شماره رو استخراج کنم .در برنامه اصلی یه بار دستورAT+CMGR=1به ماژول ارسال و متن اس ام اس با موفقیت دریافت میشه.و براساس متن اس ام اس در یک دستو شرطی به زیر برنامه استخراج شماره فرستاده میشه که این بار مشکل بالاایجاد میشه.
برای حل این مشکل عبارت AT+CMGF=1 هم در اول برنامه دادم ولی نشد.
چرا اینجوری میشه؟اساتید راهنمایی کنند.
ممنون
کد برنامه:
متغیر TMPشماره تلفن هستش که خالی بر میگرده.
"Print "AT+CMGF=1
Waitms 500
"Print "AT+CMGR=1
""=SMS
Do
()B = Inkey
Select Case B
:Case 0
:Case 13
If Sms <> "" Then Exit Do
:Case 10
If Sms <> "" Then Exit Do
Case Else
(Sms = Sms + Chr(b
End Select
Loop
Waitms 300
("Shoro = Instr(sms , "+98
( "," , Payan = Instr(shoro , Sms
Tool = 13
(Tmp = Mid(sms , Shoro , Tool
Waitms 200
HOME
LCD TMP
Return
Waitms 500
"Print "AT+CMGR=1
""=SMS
Do
()B = Inkey
Select Case B
:Case 0
:Case 13
If Sms <> "" Then Exit Do
:Case 10
If Sms <> "" Then Exit Do
Case Else
(Sms = Sms + Chr(b
End Select
Loop
Waitms 300
("Shoro = Instr(sms , "+98
( "," , Payan = Instr(shoro , Sms
Tool = 13
(Tmp = Mid(sms , Shoro , Tool
Waitms 200
HOME
LCD TMP
Return
دیدگاه