اطلاعیه

Collapse
No announcement yet.

مشکل کار با ماژول های hmr وhmt

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل کار با ماژول های hmr وhmt

    سلام به همه دوستان
    من برای ارتباط بین دو میکرو از ماژولهای hmr وhmt استفاده میکنم مشکل اینجاست که اطلاعات اغلب اوقات درست رد و بدل نمیشه البته با دستور serin میکرو ها اطلاعات رو بعد از دریافت یه کاراکتر خاص دریافت میکنن. ضمنا در حالت ارتباط سیمی هیچ مشکلی پیش نمیاد میخوام بدونم احتمالا مشکل از کجا میتونه باشه
    با تشکر

    #2
    پاسخ : مشکل کار با ماژول های hmr وhmt

    سلام.

    فکر کنم نویز میگیرن اطلاعاتتون دیگه. باید کد گذاریشون کنید تا این اتفاق نیفته. مثلا قبل هر اطلاعاتی که میفرستید یه کد ثابتم باهاش همراه کنید که اگر اون کد اولش درست بود بعدش اطلاعات بخونه
    طب اسلامی

    دیدگاه


      #3
      پاسخ : مشکل کار با ماژول های hmr وhmt

      با سلام
      ممنون از راهنماییتون. من برای داده هام کد گذاشتم همونطور که میدونید اینکار با دستور serin راحت انجام میشه با اینحال بازم داده ها اشتباه ارسال میشه. دنبال یه الگوریتم هستم که هم مطمئن باشه هم سریع
      مرسی

      دیدگاه


        #4
        پاسخ : مشکل کار با ماژول های hmr وhmt

        مشکلی که شما دارین بسیار ساده هستش ! با این ماژول نمیتونید به این صورت به راحتی کار کنید . ماژول رو عوض کنید . مشکل از طرف فرستنده هستش . این ماژول وقتی مثلا 50 میلی ثانیه بهش دیتا نرسه ( تو دیتاشیتش هست ) به حالت sleep میره . وقتی دیتا بهش برسه چند میلی ثانیه طول میکشه تا فعال بشه . برای همین همش دیتا قاطی میشه . اگه ارزش خاصی دیتا نداره ، 5 بار پشت سرهم بدون وقفه دیتا رو ارسال کنید .
        if all men are the same
        then
        why do women take so long to choose one ?

        دیدگاه


          #5
          پاسخ : مشکل کار با ماژول های hmr وhmt

          سلام.بله دوست عزیز این ماژول ها طبق گفته دوست عزیزمون josef2600 یه همچین مشکلی دارند ولی راه داره بنده خودم این ماژول رو راه انداختم مشکلی نداره.کاری که شما باید انجام بدی
          فرض میکنیم کلمه "test"(دیتا) رو می خواهیم بفرستیم
          1-یه متغیر از نوع رشته تعریف کن و دیتایی که میخوایی بفرستی رو توی اون قرار بده بطوری که دیتا با یک کاراکتر رمز شروع بشه مثلا"*" اینطوری--------------------------------------> "x="*test
          2-کد 55هگز رو چندبار متوالی ارسال کن تا فرستنده آماده کار بشه وبلافاصله دیتایی که قبلا آماده کردیمو بفرست(X)
          3-تو گیرنده تمام اطلاعات دریافتی رو تو یک رشته قرار بده .اطلاعات شما یه جایی تو این رشته قرار داره که با کاراکتر * شروع میشه.

          برنامه فرستنده:
          for(i=0;i<3;i++)
          {
          printf("%x",0x55);
          delay_ms(30);
          }
          printf(x);
          delay_ms(100);

          برنامه گیرنده:
          for(i=0;i<20;i++)
          {
          if(x[i]=='*&#039{
          s[0]=x[i+1];
          s[1]=x[i+2];
          s[2]=x[i+3];
          s[3]=x[i+4];
          s=test//
          امیدوارم مفید بوده باشه

          دیدگاه


            #6
            پاسخ : مشکل کار با ماژول های hmr وhmt

            سلام

            این کار دوستمونم خوب بود کافیه یه دیتا الکی اول برنامه ات بفرستی تا ماژول آماده شه بعد دیتا خودت رو با یک کد بفرست این حالا همین رو بنداز تو یه حلقه که 3-2 بار دیتا رو بفرسته که دیگه خیالت راحت باشه دیتات رفته در حقیقت البته همون یک بارم کافیه ها من خودم با یه بارم فرستادم .
            خوب حالا دیگه از فرستنده خیالت جمه

            می ری تو گیرنده یک بار دیتا رو می گیری کدی که فرستادی رو ازش جدا می کنی بقیه داده که دیتاته می ریزی تو یه متغیر . بعد همین کار رو دوباره می کنی میریزی تو یه متغیر دیگه . بعد این دو تا رو مقایسه می کنی . حالا هر مدل مقایسه که خودت دوست داری . اگه یکی بود که هیچی دیتا تو داری ازش استفاده می کنی . راحت تر از اچ ام آر و اچ ام تی همین ماژول های ساده ار اف است که من راحت باهاشون تا 50 متر رو جواب گرفتم آنتنشم از این آنتن های دزدگیر ماشین گذاشتم قبلاً بدون آن آنتن ها بردم کم بود اما الآن قشنگ بردم رفته بالا . بعدشم بهت بگما سطح ولتاژ صاف باشه و فیکس بعضی دوستا منبع تغذیه خوبی نداشتن جواب نمی گرفتن اما تا منبع رو عوض کردن جواب گرفتن .

            اینم ذکات علم ما

            دیدگاه

            لطفا صبر کنید...
            X