اطلاعیه

Collapse
No announcement yet.

یه رویداد جالب در ماژول EM-18

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

    یه رویداد جالب در ماژول EM-18

    سلام دوستان،

    من این ماژول رو راه اندازی کردم، خیلی راحت اطلاعات کارت رو گرفتم و روی LCD نشون دادم، چیزی که گرفتم 12 کاراکتر هست... اما وقتی از دستگاه RFM استفاده کردم که کد کارت رو بخونم فقط 10 عدد رو برگردوند...که میشه گفت بسیار متفاوت هست با عددهایی که ماژول به میکرو می فرسته، به عنوان مثال:
    ماژول به میکرو این کاراکترها رو می فرسته: 09006A779581
    اما دستگاه RFM این اعداد رو نشون میده: 0006977429
    هر چند بار هم که کارت رو بکشم.... ماژول و RFM همواره همین مقادیر رو برمیگردند!! به نظر شما مشکل چیه؟ چیزی رو جا انداختم؟ آیا باید بدونم نحوه کدینگ کارت ها چه طوریه و بعد اون رشته ای رو که ماژول میفرسته تحلیل کنم تا برسم به عددی که RFM برمیگردونه؟
    من که هیچ رابطه ای بین این اعداد نمی بینم! برای من حیاتیه که میکرو همون اعداد RFM رو برگردونه...چون این بخشی از یه پروژه است که در اون کارتهای زیادی با RFM خوانده و ذخیره می شوند.... و بعدا میکرو با دسترسی به این اطلاعات ذخیره شده باید آماده تصمیمات بعدی شود...

    قدر دان هر نوع راهنمایی خواهم بود... :biggrin:
    همیشه بزرگوار تر از آن باشید که برنجید
    و نجیب تر از آن باشید که برنجانید!

    #2
    پاسخ : یه رویداد جالب در ماژول EM-18

    em18 ظاهرا xor می کنه کاراکتر ها رو
    ولی درسته کاراکترها با اصلی متفاوت هستند
    از کارتهایی که سریالشون روی خودشون هست استفاده کردم و با یک ریدر دیگه همون رو می خوندم ولی با em فقط دو کاراکتر
    اول شبیه بودند و مابقی تفاوت داشتند
    من برام مهم نبود . ولی اگر برات مهمه باید الگوریتم رو با کارتهای با سریال مشخص دربیاری
    هميشه به ياد خدا باش !

    دیدگاه


      #3
      پاسخ : یه رویداد جالب در ماژول EM-18

      سلام و سپاس فراوان،
      منظورتون چیه که الگوریتم رو با کارت های سریال مشخص در بیارم؟

      همیشه بزرگوار تر از آن باشید که برنجید
      و نجیب تر از آن باشید که برنجانید!

      دیدگاه


        #4
        پاسخ : یه رویداد جالب در ماژول EM-18

        یه چیزایی متوجه شدم... دو رقم آخر از 12 رقم آخری که ماژول برمی گردونه XOR ده رقم اول هست که احتمالا به منظور تشخیص خطاست. پس با این حساب اگر دو رقم آخر رو حذف کنیم باید بتونیم 10 رقم اول رو به 10 رقمی که RFM می خونه تبدیل کنیم! یعنی یه رابطه ای بین: 09006A7795 و 0000571012 کشف کنیم...
        همیشه بزرگوار تر از آن باشید که برنجید
        و نجیب تر از آن باشید که برنجانید!

        دیدگاه


          #5
          پاسخ : یه رویداد جالب در ماژول EM-18

          خب دوستان معما حل شد:
          در مورد هر کارت علاوه بر دو رقم آخر، دو رقم اول رو هم حذف کنید و اعداد میانی باقی مونده که در مبنای هگز هست رو به دسیمال تبدیل کنید... در صورتیکه عدد دسیمال کمتر از ده رقم داره.. پشت عدد دسیمال تعداد مورد نیاز صفر قرار دهید تا بشه همون شماره واقعی کارت... :biggrin:
          همیشه بزرگوار تر از آن باشید که برنجید
          و نجیب تر از آن باشید که برنجانید!

          دیدگاه


            #6
            پاسخ : یه رویداد جالب در ماژول EM-18

            باید یا دیتاشیتی از خود آیسیش پیدا کنی
            یا اینکه چندتا تگ که سریالشون رو دقیقا می دونی کاراکترهاش رو بخونی و بین نتایج
            یه رابطه بدست بیاری
            حواسم نبود در زمان ارسال شما فرستادم. این پست مال قبل از حل مساله هست
            هميشه به ياد خدا باش !

            دیدگاه


              #7
              پاسخ : یه رویداد جالب در ماژول EM-18

              حالا یه مشکل ساده و خیلی مسخره:
              چه طور یه رشته عددی در مبنای هگز رو به دسیمال تبدیل کنم:
              من خودم یه کد نوشتم که این طور عمل می کنه، هر کاراکتر رو بررسی می کنه اگر این کاراکتر از '0' تا '9' بود عدد 48 رو از کاراکتر کم کنه تا بشه عدد معادل کاراکتر. و اگر کاراکتر 'A' تا 'F' بود از کاراکتر عدد 55 رو کم کنه.
              در نهایت اعداد بدست آمده رو با توجه به اینکه اون کاراکتر رقم چندم هست در یه عدد 16 به توان مشخصی ضرب میکنه. یعنی اگر کاراکتر رقم پنجم بود، عدد بدست آمده در 16 به توان 5، ضرب می کنه و ....

              ولی جواب نمی ده.. راه حلی سراغ ندارید؟

              با سپاس
              همیشه بزرگوار تر از آن باشید که برنجید
              و نجیب تر از آن باشید که برنجانید!

              دیدگاه


                #8
                پاسخ : یه رویداد جالب در ماژول EM-18

                برنامه رو که بررسی می کنم می بینم روشم درسته ولی به نظر میاد که یه جایی سر ریز رخ می ده چون 8 رقم هگز باید به 10 رقم دسیمال تبدیل بشه. من نوع متغیر رو Unsigned long int تعریف کردم با اینکه این نوع متغیر مقدار نسبتا بزرگی رو می گیره... برای عددی در حدود 6,000,000 سرریز رخ میده. به نظرم کد درسته چون با اعداد کوچیک هیچ مشکلی پیش نمی یاد ولی از یه حد که بگذره یه عدد منفی رو بهم میده با اینکه نوع متغیر unsigned هست!
                آیا این محدودیت کدویژن هست؟ راه حلی برای این مشکل سراغ ندارید دوستان؟

                با سپاس فراوان... :biggrin:
                همیشه بزرگوار تر از آن باشید که برنجید
                و نجیب تر از آن باشید که برنجانید!

                دیدگاه


                  #9
                  پاسخ : یه رویداد جالب در ماژول EM-18

                  سلام ب دوستان و اساتید گل
                  من em-18 رو با mega 8 راه اندازی کردم
                  و از کامپایلر codevision استفاده کردم
                  ولی مشکلم اینه ک کدی ک رو lcd نشون میده کد تگ نیست و با هر بار خوندن تگ(همون تگ) کدی ک نشون داره شیفت پیدامیکنه ب راست
                  ینی هم کد درست نیست و هم با هر بار خوندن همون کد شیفت پیدا میکنه.
                  در اقدام بعدی میکرو را برداشتم و فقط خروجی ریدرمو با ماژول ttl به usb به سیستم وصل کردم و توی hyper terminal یا putty بازم کدی که نشون میده با کد روی تگ متفاوته.
                  کد نوشته شده روی تگ 0009754948 هست وکدی که روی سیستم و lcd نشون میده 000094D94409 هست.
                  ممنون میشم راهنماییم کنید
                  راه اندازیش واسم مهمه :sad:

                  دیدگاه

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