اطلاعیه

Collapse
No announcement yet.

سوال در مورد دستور Inkey

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

    سوال در مورد دستور Inkey

    میخوام 10 کاراکتر رو از پورت سریال دریافت کنم و روی ال سی دی نمایش بدم
    از این دستور استفاده میکنم ولی نمیشه

    Incr E
    C = Inkey()
    If E < 10 Then Goto Card
    Code = Code + Chr(c)

    Locate 2 , 1
    Lcd Code
    Wait 3
    Goto Hom

    #2
    پاسخ : سوال در مورد دستور Inkey

    یعنی واقعا کسی نمیدونه ؟

    دیدگاه


      #3
      پاسخ : سوال در مورد دستور Inkey

      نوشته اصلی توسط ali2590
      میخوام 10 کاراکتر رو از پورت سریال دریافت کنم و روی ال سی دی نمایش بدم
      از این دستور استفاده میکنم ولی نمیشه

      Incr E
      C = Inkey()
      If E < 10 Then Goto Card
      Code = Code + Chr(c)

      Locate 2 , 1
      Lcd Code
      Wait 3
      Goto Hom
      سلام
      شما دقیقا این طور برنامه نویسی کن
      این دستور اولین کاراکتر ارسالی رو میگیره و تبدیل به کد اسکیش می کنه فرقی هم نمی کنه طول رشته 10 تا باشه یا یدونه
      برای درست کار کردن این دستور باید اون میکرویی که کاراکتر ها رو میفرستد دونه دونه بفرسته مثلا می خوام کاراکتر "abc" رو ارسال کنم اول a رو ارسال می کنم بعد چون این دستور کد اسکیش رو میده تبدیل به کاراکترش می کنیم و تو یه متغیر string می ریزیم بعد دومی رو ارسال می کنیم این طرف دریافت کرده دوباره از کد اسکی خارج میکنیم و با متغیر رشته ای جمع می کنیم تا چند تا که کاراکتر داشته باشیم این کار رو می کنیم جدول کد های اسکی هم تو هلپ بسکام هست یه چیز دیگه باید بین فرستنده و گیرنده همزمان سازی بشه مثلا باید به فرستنده بفهمونی که گیرنده مثلا کاراکتر a رو دریافت کرد و تموم شد یه پالس بفرسته فرستنده کاراکتر بعدی رو بفرسته من که میبینم شما 3 ثانیه صبر می کنی بعد کاراکترا رو می گیری با این دستور باید خلاصه همزمان سازی انجام بشه یعنی وقتی فرستنده ارسال می کنه گیرنده بفهمه و دریافت کنه و تا دریافت نکردن آن فرستنده همچنان کاراکتر مورد نظر را ارسال کند
      برد جوجه کشی:
      مطالعه پست 1 (حتما مطالعه کنید)


      مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

      دانلود

      توجه:
      این برد نیمه صنعتی و خانگی هست...
      برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

      آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

      دیدگاه


        #4
        پاسخ : سوال در مورد دستور Inkey

        نوشته اصلی توسط mohammad...
        سلام
        شما دقیقا این طور برنامه نویسی کن
        این دستور اولین کاراکتر ارسالی رو میگیره و تبدیل به کد اسکیش می کنه فرقی هم نمی کنه طول رشته 10 تا باشه یا یدونه
        برای درست کار کردن این دستور باید اون میکرویی که کاراکتر ها رو میفرستد دونه دونه بفرسته مثلا می خوام کاراکتر "abc" رو ارسال کنم اول a رو ارسال می کنم بعد چون این دستور کد اسکیش رو میده تبدیل به کاراکترش می کنیم و تو یه متغیر string می ریزیم بعد دومی رو ارسال می کنیم این طرف دریافت کرده دوباره از کد اسکی خارج میکنیم و با متغیر رشته ای جمع می کنیم تا چند تا که کاراکتر داشته باشیم این کار رو می کنیم جدول کد های اسکی هم تو هلپ بسکام هست یه چیز دیگه باید بین فرستنده و گیرنده همزمان سازی بشه مثلا باید به فرستنده بفهمونی که گیرنده مثلا کاراکتر a رو دریافت کرد و تموم شد یه پالس بفرسته فرستنده کاراکتر بعدی رو بفرسته من که میبینم شما 3 ثانیه صبر می کنی بعد کاراکترا رو می گیری با این دستور باید خلاصه همزمان سازی انجام بشه یعنی وقتی فرستنده ارسال می کنه گیرنده بفهمه و دریافت کنه و تا دریافت نکردن آن فرستنده همچنان کاراکتر مورد نظر را ارسال کند
        ممنون از پاسختون دوست عزیز اگه مثالی بزنی ممنون میشم

        دیدگاه


          #5
          پاسخ : سوال در مورد دستور Inkey

          سلام چرا میخواین رشته هارو دونه دونه بفرستید خب یه جا بفرستید مثل کد زیر:
          کد فرستنده:
          کد:
          $regfile = "m8def.dat"
          $crystal = 8000000
          $baud = 9600
          
          Dim T As String * 8
          Do
          T ="salam"
          Print T
          Wait 1
          Loop
          کد گیرنده:
          کد:
          $regfile = "m8def.dat"
          $crystal = 8000000
          $baud = 9600
          Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.6
          Dim T As String * 8
          Cursor Off
          Cls
          Do
          Home
          Input T
          Lcd T ; " "
          
          Loop
          End
          من تست کردم جواب داد :rolleyes:

          دیدگاه

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