NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3802 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
نمایش نتایج: از 1 به 6 از 6

موضوع: راهنمايي براي ارتباط با microsd

  1. #1
    تازه وارد
    تاریخ عضویت
    Apr 2013
    نوشته ها
    4
    تشکر
    7
    تشکر شده 1 بار در 1 پست

    پیش فرض راهنمايي براي ارتباط با microsd

    سلام
    يه پروژه درب بازکن با sim900 داشتم که به خوبي کار ميکرد

    قصد دارم براي ذخيره شماره هاي افراد مجاز از microsd استفاده کنم و اگر شماره تماس گيرنده در فايل متني ذخيره شده در رم بود درب باز بشه
    تغييرات لازم براي راه اندازي رم رو در برنامه ايجاد کردم و رم شناخته ميشه و ارور نميده
    مشکل اينجاست که به خوبي نميتونم از فايل متني شماره رو بخونم ، حتي اگر شماره در فايل متني وجود نداشته باشه باز هم دستور شرطي برقرار ميشه
    براي مثال خط 6 از فایل متنی رو ريختم توي يه متغير ، فرقي نداره چه عددي تو اين خط وجود داشته باشه بازم در باز ميشه

    نميدونم کدوم قسمت از برنامه رو اشتباه کردم لطفا راهنماييم کنيد

    ویرایش :

    [PHP]Open "test.txt" For Input As #1
    Do
    'Waitms 100
    Line Input #1 , B
    If Tmp = B Then
    Cls
    Locate 1 , 1 : Lcd Tmp
    Locate 2 , 1 : Lcd "Opening Door..."
    Set Portd.3
    Set Portd.4
    Waitms 120
    Print "ATH"
    Reset Portd.3
    Reset Portd.4
    Wait 3
    Cls
    Locate 1 , 2 : Lcd "<READY TO USE>"
    Else
    Loop Until Eof(#1) <> 0
    Close #1
    End If[/PHP]

    مشکلم حل شد با کد بالا
    ایرادات این بود که برای خوندن از رم do loop استفاده نکرده بودم
    مشکل بعدی این بود که بعد از do تاخیر گذاشتم که اون هم کارو خراب میکرد
    ممنون از جناب 1nafar و mehdi29665
    ویرایش توسط pouria71 : 30-11-2013 در ساعت 10:04

  2. تشکرها از این نوشته :


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نوشته ها
    Many
     

  4. #2
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    سلام
    این جور که من متوجه شدم شما با دستور زیر :
    کد:
    If Tmp = B Then
    Locate 2 , 1 : Lcd "Opening Door..."
    Wait 1
    Set Portd.3
    Set Portd.4
    اگه مقدار b برابر با tmp باشه درب رو باز میکنید ، b از مموری خونده میشه و tmp در زیر منوی Sss مقدر دهی میشه .
    توی زیر منوی
    Sss مقدار tmp برابر با صفر بر میگرده ( اگه اینجور نیست توضیح بدید ) و اگه توی فایل متنی هم هیچ متنی وجود نداشته باشه ، مقدار b برابر با 0 میشه و شرط همیشه برابر قراره .
    اول چک کنید ببینید b مقدار داره یا نه ، بعد ببینید tmp مقدار میگره ؟

  5. کاربران : 2 تشکر کرده اند از شما 1nafar برای ارسال این پست سودمند:


  6. #3
    تازه وارد
    تاریخ عضویت
    Apr 2013
    نوشته ها
    4
    تشکر
    7
    تشکر شده 1 بار در 1 پست

    پیش فرض

    سلام
    ممنون از اینکه وقت گذاشتید

    در زیر منوی sss شماره تماس گیرنده از داخل رشته ای که از sim900 دریافت شده مشخص میشه و متغیر tmp این شماره رو برمیگردونه

    این برنامه بدون دستورات مموری درست کار میکنه
    یعنی اگر این شرط رو جایگیزین کنم برنامه به درستی کار میکنه :
    [PHP]if tmp = "0935***9273" then
    Locate 2 , 1 : Lcd "Opening Door..."
    Wait 1
    Set Portd.3
    Set Portd.4[/PHP]

    برای مطمئن شدن از مقدار گرفتن tmp و b چیکار کنم؟

  7. #4
    کاربر ارشد 1nafar آواتار ها
    تاریخ عضویت
    Jul 2007
    نوشته ها
    2,745
    تشکر
    1,266
    تشکر شده 4,874 بار در 1,377 پست

    پیش فرض

    در زیر منوی sss شماره تماس گیرنده از داخل رشته ای که از sim900 دریافت شده مشخص میشه و متغیر tmp این شماره رو برمیگردونه

    این برنامه بدون دستورات مموری درست کار میکنه
    برای اجرا شدن یک شرط باید مقادیر هر دو متغیر در دو طرف تساوی با هم برابر باشند .
    اگه دستورات موجود در زیر شرط If Tmp = B Then اجرا میشن ، قطعا مقدار B و Tmp با هم برابر هستند . ممکنه Tmp از جای دیگه ای مقدار میگیره . برای تست کردن برنامه شما یک شماره ی اشتباه رو توی Tmp بریز ببین بازم شرط اجرا میشه یا نه ؟
    برای مطمئن شدن از مقدار گرفتن tmp و b چیکار کنم؟
    اونا رو روی LCD نمایش بده و نتیجه رو به صورت عملی ببین .

  8. تشکرها از این نوشته :


  9. #5
    کاربر فعال mehdi29665 آواتار ها
    تاریخ عضویت
    Mar 2010
    نام
    مهدي ديواندري
    نوشته ها
    166
    تشکر
    187
    تشکر شده 121 بار در 68 پست

    پیش فرض

    Open "test.txt" For Input As #1
    Line Input #6 , B
    "بدون شرح"

  10. تشکرها از این نوشته :


  11. #6
    تازه وارد
    تاریخ عضویت
    Apr 2013
    نوشته ها
    4
    تشکر
    7
    تشکر شده 1 بار در 1 پست

    پیش فرض

    نقل قول نوشته اصلی توسط mehdi29665 نمایش پست ها
    open "test.txt" for input as #1
    line input #6 , b
    "بدون شرح"
    ممنون ، فکر میکردم با این دستور میشه مستقیما یک خط از فایل رو خوند که با دوباره خوندن هلپ متوجه این موضوع شدم که باید با اسم انتخاب شده برای فایل یکی باشه و تصحیح شد اما بازم به جواب نرسیدم

موضوعات مشابه

  1. پاسخ: 2
    آخرين نوشته: 28-01-2013, 13:50
  2. پاسخ: 6
    آخرين نوشته: 06-01-2013, 13:53
  3. مشکل ساخت فایل در کارت Microsd
    توسط ahadgd در انجمن AVR
    پاسخ: 1
    آخرين نوشته: 31-08-2011, 14:29
  4. رونمايي رايانه‌ي لوحي rim
    توسط M3R در انجمن اخبار کامپیوتر و IT و مسابقات رباتیک
    پاسخ: 1
    آخرين نوشته: 30-09-2010, 12:57
  5. راهنمايي
    توسط vahidasm در انجمن FPGA
    پاسخ: 5
    آخرين نوشته: 22-05-2010, 18:33

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •