من یه gsm modem مدل Tc35i دارم که با پورت سریال کار میکنه. من با avr تونستم باهاش اس ام اس بفرستم. و با کامپیوتر تونستم هم اس ام اس بخونم و هم بفرستم. اما مشکل اینجاست که با avr حتی یه بایت درست حسابی هم نمیتونم از جی اس ام بخونم.
من برای آزمایش اینکه ببینم آیا gsm modem دیتا رو به avr میده یا نه اومدم سیم TX جی اس ام مودم رو به RX کامپیوتر وصل کردم و دیدم جی اس ام مثل هلو داره به avr جواب میده!!! اما این avr خنگ نمیبینه :redface:
بعد به این شک کردم که شاید avr فقط تو دریافت مشکل داره و اومدم avr رو به کامپیوتر وصل کردم و دیدم که هیچ مشکلی نداره و مثل هلو هم ارسال میکنه و هم دریافت!!!
من واسه رفع این مشکل اومدم ورودی avr رو بافر کردم. اما این دفعه حتی از کامپیوتر هم چیزی دریافت نکرد!!!!
یعنی چیزی بافر نمی شد!!!
در ضمن هم avr رو عوض کرم هم آی سی max232
از اساتید خواهش میکنم منو راهنمایی کنن!!! آخر ترمه باید پرژه ام رو تحویل بدم.
پیشاپیش از راهنماییتون ممنونم
اطلاعات تکمیلی:
avr=atmega8
baud=9600
GSM Modem = Tc35i Serial
max232=Maxim
من برای آزمایش اینکه ببینم آیا gsm modem دیتا رو به avr میده یا نه اومدم سیم TX جی اس ام مودم رو به RX کامپیوتر وصل کردم و دیدم جی اس ام مثل هلو داره به avr جواب میده!!! اما این avr خنگ نمیبینه :redface:
بعد به این شک کردم که شاید avr فقط تو دریافت مشکل داره و اومدم avr رو به کامپیوتر وصل کردم و دیدم که هیچ مشکلی نداره و مثل هلو هم ارسال میکنه و هم دریافت!!!
من واسه رفع این مشکل اومدم ورودی avr رو بافر کردم. اما این دفعه حتی از کامپیوتر هم چیزی دریافت نکرد!!!!
یعنی چیزی بافر نمی شد!!!
در ضمن هم avr رو عوض کرم هم آی سی max232
از اساتید خواهش میکنم منو راهنمایی کنن!!! آخر ترمه باید پرژه ام رو تحویل بدم.
پیشاپیش از راهنماییتون ممنونم
اطلاعات تکمیلی:
avr=atmega8
baud=9600
GSM Modem = Tc35i Serial
max232=Maxim
کد:
$regfile = "m8def.dat" $crystal = 8000000 $baud = 9600 Config Serialin = Buffered , Size = 50 Config Lcdpin = Pin , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 , E = Portb.1 , Rs = Portb.0 Config Lcd = 16 * 2 Dim D As String * 50 Dim B As Byte Dim N As Byte Dim J As Byte N = 0 Wait 1 Cls D = "" N = 0 Cursor Off Lcd "Geting SMS..." Waitms 500 Print "at+cmgf=1" Waitms 100 Print "at+cmgr=1" Waitms 500 Open "comb.1:9600,8,n,1" Do B = Inkey() Incr N If N = 49 Then Exit Do D = D + Chr(b) Waitms 100 Loop Waitms 500 Cls Wait 1 J = Len(d) Lcd J Locate 2 , 1 Lcd D End
دیدگاه