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

موضوع: دستور inkey در بسکام کارش چیه ؟

  1. #1
    کاربر فعال
    تاریخ عضویت
    Jul 2011
    نوشته ها
    198
    تشکر
    234
    تشکر شده 70 بار در 45 پست

    پیش فرض دستور inkey در بسکام کارش چیه ؟

    سلام
    دوستان دستور inkey در بسکام کارش چیه .
    البته در اموزش بسکام اینو خوندم ولی منظورشو متوجه نشدم

    این دستور مقدار اسکی کاراکتر دریافت شده از پورت سریال را بر میگرداند
    var=inkey()
    "مقدار اسکی کاراکتر دریافت شده "چیه؟
    از پورت سریال بر میگرداند " چیه ؟




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

  3. #2
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    سلام

    مقدار اسکی درواقع کد اصلی کارکترها در کامپیوتر هستن. مثلا کد اسکی حرف A (حروف بزرگ) میشه 65 و کد اسکی B (حروف بزرگ) میشه 66 و الی آخر...

    دستور inkey این کدهارو دونه دونه از بافر سریال می خونه و در یک متغیر از نوع بایت قرار میده. وقتی هم که هیچ کاراکتری در بافر پورت سریال نباشه مقدار 0 برگردونده میشه که درواقع کد اسکی کاراکتر null (هیچی) هست.
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

  4. کاربران : 4 تشکر کرده اند از شما morteza_rk برای ارسال این پست سودمند:


  5. #3
    کاربر فعال
    تاریخ عضویت
    Jul 2011
    نوشته ها
    198
    تشکر
    234
    تشکر شده 70 بار در 45 پست

    پیش فرض

    سلام
    دوستان من ارتباط بین میکرو و کامپیوتر ایجاد کردم و اطلاعات ارسالی و دریافتی رو از طریق برنامه TERMINAL EMULITOR بسکام تست میکنم .اطلاعاتی که از طریق میکرو میفرستم به درستی در کامپیوتر دریافت میکنم ولی متن های که در برنامه TERMINAL EMULITOR بسکام مینویسم بصورت کد اسکی در میاد و در میکرو کدهای اسکی رونمایش میده .مثلا در TERMINAL EMULITOR ،، میزنم A در میکرو 65 رو نشون میده .از چه دستوری استفاده کنم که دقیقا همان متن یا حروف مورد نظر رو نشون بده .این یه برنامه ساده که دارم تست میکنم .


    کد:
    $regfile = "m8def.dat"
    $crystal = 8000000
    $baud = 9600
    Config Lcdpin = Pin , Rs = Pinc.0 , E = Pinc.1 , Db4 = Pinc.2 , Db5 = Pinc.3 , Db6 = Pinc.4 , Db7 = Pinc.5
    Config Lcd = 16 * 2
    Cursor Off
    Enable Interrupts
    Enable Urxc
    On Urxc Ff
    
    Dim Receive As Byte
    Print "HELLO"
    Wait 1
    Cls
    Print "mohammad"
     Wait 1
    
     Do
    
     Loop
      End
    
    Ff:
    Receive = Inkey()
    Locate 2 , 1
    Lcd Receive
    Print Receive
    Wait 1
    Cls
    Return

  6. #4
    مدیر کل انجمن ها morteza_rk آواتار ها
    تاریخ عضویت
    Apr 2009
    نام
    مرتضی رحیمی کردمحله
    نوشته ها
    2,071
    تشکر
    2,376
    تشکر شده 2,899 بار در 1,263 پست

    پیش فرض

    سلام

    از کد زیر استفاده کنید ، ببنید چی میشه :

    کد:
    dim string1 as string*10
    
    string1=string1+chr(Receive)
    .
    اَللّهُمَ صَلّ عَلی مُحَمَّد وَ آلِ مُحَمَّد وَ عَجّل الفَرَجَهُم


    وبلاگ شخصی من

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


  8. #5
    کاربر فعال
    تاریخ عضویت
    Jul 2011
    نوشته ها
    198
    تشکر
    234
    تشکر شده 70 بار در 45 پست

    پیش فرض

    نقل قول نوشته اصلی توسط morteza_rk نمایش پست ها
    سلام

    از کد زیر استفاده کنید ، ببنید چی میشه :

    کد:
    dim string1 as string*10
    
    string1=string1+chr(receive)
    سلام
    ممنونم .اره درست شد .یه سوال؟
    من جهت اشنا شدن با max232 و دستورات سریال ؛این مدارو بستم .این دستوری که شما دادید برای دریافت حروف و متن بود .
    بهترین دستور برای دریافت اطلاعات در ارتباط سریال چیه ؟

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

  9. #6
    کاربر فعال
    تاریخ عضویت
    Jul 2011
    نوشته ها
    198
    تشکر
    234
    تشکر شده 70 بار در 45 پست

    پیش فرض

    سلام
    من میخام با استفاده از برنامه TERMINAL EMULITOR مثلا بزنم 8 ویه خروجی در گیرنده فعال بشه و مثلا اگر زدم 5 غیر فعال .ولی الان هرکاری میکنم جواب نمیده .یعنی خروجی رو فعال نمیکنه .
    باید چیکار کنم ؟

    کد:
    Do
    Loop
    End
    
    Ff:
    Receive = Inkey()
    String1 = Chr(receive)
    Locate 1 , 1
    Lcd String1
    Print String1
    
    Waitms 200
    If String1 = 8 Then
    Set Portd.2
    Else
    If String1 = 5 Then
    Reset Portd.2
    End If
    End If
    Cls
    Return

  10. #7
    کاربر علاقه مند
    تاریخ عضویت
    Nov 2009
    نوشته ها
    55
    تشکر
    26
    تشکر شده 50 بار در 25 پست

    پیش فرض

    سلام
    فکر کنم اگر اینجوری بنویسی درست میشه
    [PHP]
    .
    .
    If String1 = "8" Then
    Set Portd.2
    .
    .
    .
    [/PHP]

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


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

  1. درباره دستورات i2c
    توسط Deadman در انجمن AVR
    پاسخ: 0
    آخرين نوشته: 07-11-2013, 15:34
  2. دستور ارسال عدد در spi با میکرو avr
    توسط Niloufar.Male در انجمن AVR
    پاسخ: 0
    آخرين نوشته: 26-10-2013, 19:52
  3. دستورات arm
    توسط imported_pmf در انجمن AT91 series (ATMEL)
    پاسخ: 0
    آخرين نوشته: 25-08-2012, 12:21
  4. دستورات سریال
    توسط leylijoon در انجمن برنامه نویسی کامپیوتر/کنترل با کامپیوتر
    پاسخ: 1
    آخرين نوشته: 18-08-2012, 09:20
  5. مشکل در دستور if
    توسط parham144 در انجمن AVR
    پاسخ: 8
    آخرين نوشته: 22-05-2012, 00:57

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

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