اتصلات سيم كارت را چك كردم مشكلي نداره. تغذيه مدار هم با lm2576 است منبع تغذيه هم جريان بالايي ساپورت ميكنه
به نظر شما به غير از اينها مشكل از كجا مي تونه باشه؟
يك سوال ديگه
خود ماژول به طور اتوماتيك بايد شبكه را پيدا كنه يا نه ما بايد دستوري ارسال كنيم تا شبكه را پيدا كنه؟
نه تنظیمات خاصی نداره
شما شماتیک کاملی که بردتون را زدید را قرار بدهید شاید نکته ای را نادیده گرفته باشید .
انقدر مشکلات تون پراکنده هست که نمیشه جواب داد.اقا شما اگه سیمکارت میزارید و بهش زنگ میزنید و بوق میخوره یعنی شبکه رو شناخته و سرعت ال ای دی می بایست فرق کنه.
این دستور برای شارژ فرستادن همراه اول
خواندنکد:Charj = Mid(urxc_buff , H , 15) Print "atd*140*#" ; Charj ; "#;"
اینم برای ایرانسلکد:Print "AT+CUSD=1," ; Chr(34) ; "*140*11#" ; Chr(34) ; ",0"
اینم برای خواندنکد:Charj = Mid(urxc_buff , H , 16) Print "atd*141*" ; Charj ; "#;"
کد:Print "AT+CUSD=1," ; Chr(34) ; "*140*1#" ; Chr(34) ; ",0"
ویرایش توسط arvin2009 : 04-12-2013 در ساعت 22:13
سلام
بچه ها من تازه کار با sim900 شروع کردم تو برنامه نویسیش مشکل دارم
اگه یه نمونه برنامه داشته باشید که فقط بتونم یه sms بفرستم ممنون میشم
در حد فرستادن سلام
فقط
یک برنامه نمونه که در پست اول هست
این یک تابع برای اینکار.باقی کارش پا خودت
کد:void loop() { unsigned char number[13]; int x; delay_ms(500); for(counter=0;counter<13;counter++) { number[counter]=phone_number1[counter]; } lcd_clear(); lcd_gotoxy(0,1); lcd_puts(number); printf("AT+CMGS=\"%13s\"\r",number); wait_to_get('>'); printf("SALAM"); putchar(ctrl_z); }
ویرایش توسط arvin2009 : 05-12-2013 در ساعت 01:54
دوستان مدار gsm من که خودم ساختم شبکه پیدا نمیکند هر کاری هم به فکرم رسید انجام دادم ولی باز هم شبکه پیدا نکرد.تغذیه سیم کارت هم که اندازه گرفتم 0 ولت است سیم کارت هم دائم خاموش است.تو هاپر ترمینال هم به محضی که مدار را روشن میکنم پیغام cpin is not inseart را میدهد و csmins =0,0 نشان میدهد.
منبع تغذیه هم تا 4 آمپر جریان دهی میکند.
نمیدانم واقعا" مشکل از کجاست
ممکن است ایراد از ماژول باشد؟
وضعیت pcb تون خیلی مهمه انتنی که استفاده کردید چیه ؟
بله میتونه ماژول هم صدمه دیده باشه بهتره از منبع تغذیه استفاده کنی و جریان کشی مدار را مشاهده کنید .
پايه هاي سيم كارت را كه دقيقا" مثل ديتا شيت نصب كردم به جز همان آي سي كه گير نمياد مثل ديتا شيت است.
قدرت آنتن دهي هم با دستور at+csq ميدم 18 19 است.
آنتن هم مثل همان آنتن تو فروشگاه موجود است استفاده كردم كه پايش را زدم به پايه 60 ماژول و بدنه آنتن هم گراند كردم.
منبع تغذيه كه دارم ميزان جريان كشي را نشان نميده بايد چقدر جريان بكشه تا بفهمم ماژول سالم است يا نه؟
با سلام و خسته نباشید خدمت دوستان
یه میکرو mega16 رو وصل کردم به sim908 و برنامه میکرو اینه که داره اس ام اس های سیم کارت رو پشت سر هم می خونه و از روی متن ، پاسخ های مختلفی رو روی lcd نشون می ده . حالا مشکلم اینجاست که تقریبا هر 30 تا اس ام اس رو که می خونه( دقیقا بعد از خوندن یه تعداد مشخص ) ، میکرو یا هنگ می کنه ، یا ریست می شه . چیزی که من فهمیدم اینه که مشکل از پر شدن بافر هست . حالا اینکه چجوری بافر رو خالی کنم ، نفهمیدم چجوریه . از دوستان کسی هست که راهنمایی کنه ؟
با تشکر فراروان . یاعلی
پس منبع مشکلتون را متوجه شده اید
شما الگوریتم برنامه خودتونو یه بررسی و تحلیل بکنید متوجه اشکالتون خواهید شد
. مثلا برای خوندن یه اس ام اس یه تعداد کاراکتر را از ماژول میخونید مثلا 100 تا دفعه بعد برای اس ام اس بعدی دوباره از اول ارایه شروع به نوشتن کنید نباید چنین اتفاقی بیفته و به اصلاح پر بشه !
آقا مسعود ، فرک نمی کنم الگوریتمم مشکلی داشته باشه . یه متغییر String * 200 برای مشخصات SMS و یه متغییر String * 50 هم برای متن SMS گرفتم که بعد از هربار خوندن ، مقدار هر دو رو NULL می کنم .
درواقع بعد از هربار خوندن تمام متغییر هام رو صفر می کنم .
در مورد Config Serialin = Buffered , Size = 254 چه چیزایی می دونید ؟ این رو اول برنامه گذاشتم و بعد از هربار خوندن هم Clear Serialin رو گذاشتم ، ولی بازم نتیجه نگرفتم .
اگه راه کاری به ذهنتون می رسه ، ممنون می شم بگم .
در مورد برنامه که نمیشه نظری داد .
در مورد دستور بالا من زمانی که میخواهم با terminal emulator برای ارسال داده به میکرو استفاده کنم ازش استفاده میکنم .این دستور داده های دریافتی پورت سریال میکرو را در بافر سخت افزاری در نظر میگیره که حافظه برای این کار از Sram تامین میشه
در مورد size هم مشخص کننده تعداد بایت بافر هست . نیازی به استفاده از این دستور ندارید .