سلام خدمت همه دوستان
من میخوام با سیم 908 اس ام اس دریافت کنم و روی ال سی دی نشون بدم ،اما وقتی اس ام اس رو میگیره اونو روی ال سی دی نشون نمیده و به جاش یه چیزای دیگه ای رو نشون میده ،برنامه رو توی پروتئوس تست کردم و کاملا جواب داد (البته به جای ماژول از ترمینال مجازی استفاده کردم)،لطفا راهنمایی کنید خیلی حیاتیه ،ممنون.اینم از برنامه
من میخوام با سیم 908 اس ام اس دریافت کنم و روی ال سی دی نشون بدم ،اما وقتی اس ام اس رو میگیره اونو روی ال سی دی نشون نمیده و به جاش یه چیزای دیگه ای رو نشون میده ،برنامه رو توی پروتئوس تست کردم و کاملا جواب داد (البته به جای ماژول از ترمینال مجازی استفاده کردم)،لطفا راهنمایی کنید خیلی حیاتیه ،ممنون.اینم از برنامه
کد:
$regfile = "m64def.dat" $crystal = 8000000 Config Portd.0 = Output Config Porta.0 = Output Config Com2 = 9600 , Synchrone = 0 , Parity = None , Databits = 8 , _ Stopbits = 1 , Clockpol = 0 Config Lcd = 16 * 2 Config Lcdpin = Pin , Rs = Portb.2 , E = Portb.3 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 Config Int1 = Falling Enable Int1 Enable Interrupts On Int1 Lable Dim A As Byte , B As Byte , Sms As String * 250 Open "com2:" For Binary As #1 Set Portd.0 Waitms 1800 Reset Portd.0 Cls Cursor Off Lcd "WAIT FOR NEW SMS" Wait 5 Print #1 , "A" Waitms 100 For A = 1 To 5 Print #1 , "AT" Waitms 300 Next Print #1 , "AT+CMGF=1" Wait 1 Print #1 , "AT+CMGD=1" Waitms 500 Print #1 , "ATE0" Wait 1 Print #1 , "AT+CSCS=" ; Chr(34) ; "gsm" ; Chr(34) Print #1 , "AT+CNMI=2,0,0,0" Waitms 200 Do Loop Close #1 End Lable: Cls Lcd "NEW SMS RECIEVED" Print #1 , "AT+CMGR=1,0" Sms = "" Do B = Inkey(#1) If B > 0 Then Select Case B Case 13: If Sms <> "" Then Exit Do Case 10: If Sms <> "" Then Exit Do Case Else Sms = Sms + Chr(b) End Select End If Loop Cls Lcd Sms Wait 12 Cls Lcd "WAIT FOR SMS" Print #1 , "AT+CMGD=1" Return
دیدگاه