سلام
sim900 رو راه اندازی کردم .
برای rx یه اینتراپت درست کردم که کاراکترایی که sim 900 میده رو میگیره تو یه ارایه میریزه بعد روشون تحلیل انجام میده و مانیتور میکنه
2 تا مشکل دارم
1- اول با حلقه for اومدم بگیرم . میبینم اونجا باید عدد تعیین کنم که عدد مشخص نیست
ممکنه ok بده یا error یا callerid یا sms باشه و تا وقتی عدد پر نشه جواب نمیده هر دفه کاراکتر میخواد :
و از for خارج نمیشه و تو Int میمونه تا مثلا اگه for 50 باشه 50 تا کاراکتر رو بگیره
2-حتی با این روشم یه برنامه C# نوشتم که متن رو کامل میفرسته . یعنی یه متنی رو تایپ میکنم بعد دکمه رو که میزنم همرو پست هم میفرسته به sim900 خوب مبفرستاد اون میگرفت اما به mega 8 که میدم کاراکترا رو دیتا لاست میده و ؟ میندازه
چه جوری میتونم یه رسته رو بگیرم ؟ بدون اینکه تعداد کاراکتراش از قبل تعریف شده باشه (فقط ماکزیمم رو تعریف کنم) و سرعت بالا که لاست نده و اینکه میشه روشون timeout گذاشت که موازی با while باشه ؟ کاراکتر نیمذ بعد چند ثانیه خودش بیخیال شه
sim900 رو راه اندازی کردم .
برای rx یه اینتراپت درست کردم که کاراکترایی که sim 900 میده رو میگیره تو یه ارایه میریزه بعد روشون تحلیل انجام میده و مانیتور میکنه
2 تا مشکل دارم
1- اول با حلقه for اومدم بگیرم . میبینم اونجا باید عدد تعیین کنم که عدد مشخص نیست
ممکنه ok بده یا error یا callerid یا sms باشه و تا وقتی عدد پر نشه جواب نمیده هر دفه کاراکتر میخواد :
کد:
char getchr(void)
{
while(!((UCSRA&0x80)==0x80));
return UDR;
}
2-حتی با این روشم یه برنامه C# نوشتم که متن رو کامل میفرسته . یعنی یه متنی رو تایپ میکنم بعد دکمه رو که میزنم همرو پست هم میفرسته به sim900 خوب مبفرستاد اون میگرفت اما به mega 8 که میدم کاراکترا رو دیتا لاست میده و ؟ میندازه
چه جوری میتونم یه رسته رو بگیرم ؟ بدون اینکه تعداد کاراکتراش از قبل تعریف شده باشه (فقط ماکزیمم رو تعریف کنم) و سرعت بالا که لاست نده و اینکه میشه روشون timeout گذاشت که موازی با while باشه ؟ کاراکتر نیمذ بعد چند ثانیه خودش بیخیال شه




خیر سرم اومدم تو اینتراپت delay گذاشتم که مثل تایم اوت عمل کنه ینی قبل چک 3 ثانیه وایشه اگه کاراکتر دیگه ای گرفت بریزه اگه 3 ثانیه نگرفت بره تو چک اما مثل اینکه وقتب تو اینتراپتم نمیشه دوباره انتراپت بخوره ! پی 3 ثانیه رو میشمره کد اول رو پس میده کد دوم میره تو ارایه 3 میشمره کد دوم رو پس میده ! 

دیدگاه