اطلاعیه

Collapse
No announcement yet.

برنامه اینترفیس با VB ( پورت سریال و Atmega32) کمک!

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

    برنامه اینترفیس با VB ( پورت سریال و Atmega32) کمک!

    سلام
    امیدوارم همگی در سلامتی کامل به سر ببرید :agree:
    من یک برنامه رابط می خوام بنمویسم نمی دونم از کجا شروع کنم لطفا بهم کمک کنید :surprised:
    این برنامه باید اعدادی رو ابه پورت سریال بفرسته و بعد اونا به میکرو برسند و درنتیجه میکرو اندازه گیری های لازم رو انجام بده و اعدادی رو برای پورت ازسال کنه و ... باید کارهای خاصیم روی اون اعداد صورت بگیره که حالا میگم
    فقط الان نمی دونم باید چی کار کنم ؟ یکم بلدم با Vb6 کار کنم اگه کتاب خوبی می شناسین یا خودتون حوصله دارین لطفا راهنماییم کنین ممنون. :job:
    من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

    #2
    پاسخ : برنامه اینترفیس با VB ( پورت سریال و Atmega32) کمک!

    نوشته اصلی توسط anahita_hita
    سلام
    امیدوارم همگی در سلامتی کامل به سر ببرید :agree:
    من یک برنامه رابط می خوام بنمویسم نمی دونم از کجا شروع کنم لطفا بهم کمک کنید :surprised:
    این برنامه باید اعدادی رو ابه پورت سریال بفرسته و بعد اونا به میکرو برسند و درنتیجه میکرو اندازه گیری های لازم رو انجام بده و اعدادی رو برای پورت ازسال کنه و ... باید کارهای خاصیم روی اون اعداد صورت بگیره که حالا میگم
    فقط الان نمی دونم باید چی کار کنم ؟ یکم بلدم با Vb6 کار کنم اگه کتاب خوبی می شناسین یا خودتون حوصله دارین لطفا راهنماییم کنین ممنون. :job:
    خوب تو کدوم بخش مشکل دارید ؟

    میتونید برای میکرو و برنامه کامپیوترتون این نکته ررو در نظر بگیرید که هر کدام پس از فعال سازی , دنبال اون یکی بگرده , مثلا اینشیالیز کنه تا بتونید آغاز یک رابطه رو به درستی انجام بدید , اگر هر کدام هم غیر فعال بودند منتظر رسیدن پیغامی از طرف مقابل اشند تا کار رو شروع کنند , در ادامه هم میتونید دیتا های لازم و بگیرید و بفرستید و عملیاتی که میخواید رو رو دیتا ها پیاده سازی کنید.

    کتاب هم زیاده , اما علی الظاهر شما فقط با چند دستور و بیشتر بصورت داخل برنامه ای کار دارید , که خیلی اطلاعات از زبان برنامه نویسی نمیخواد (همینی که بلدی کفایت میکنه).

    دیدگاه


      #3
      پاسخ : برنامه اینترفیس با VB ( پورت سریال و Atmega32) کمک!

      سلام
      ممنونم
      من شروع به نوشتن برنامه کردم
      اینجا به مشکل برخوردم که :
      من از میکرو داده ها رو به صورت دو بایتی می فرستم
      حالا که می خوام توی vb اون دو بایت رو در یافت کنم باید چی کار کنم ؟

      آیا باید تمام بافر گیرنده رو بریزم توی یک متغیر string ؟ بعد اگر اینکار و کنم چه جوری دو بایتش رو جدا کنم ؟
      mscomm1.inputlen=0
      a=mscomm1.input

      از کجا معلوم دو بایتی که من می خوام کجای اینه ؟

      یا اینکه از اول فقط دو بایت رو از بافر گیرنده بخونم :
      mscomm1.inputlen=2
      البته مطمئن نیستم این دو بایت رو می خونه یا نه ؟؟؟ (حدس زدم)
      حالا در این صورت چه جوری مقدار این دو بایت ( Value) رو به دست بیارم ؟

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

      دیدگاه


        #4
        پاسخ : برنامه اینترفیس با VB ( پورت سریال و Atmega32) کمک!

        سلام
        فکر میکنم وقتی از Input استفاده میکنید بافر خالی میشه و Index برمیگرده به اول بافر،اما بازم برای اینکه کارتون رو راحت تر و ساده تر بکنید،هر دفعه که میکرو دیتا رو ارسال میکنه یک کاراکتر به ابتداش اضافه کنید تا دیتا هاتون از هم متمایز بشن مثلا کاراکتر # رو بفرستید و بعد دیتاتون رو!!
        در دیر مغان آمد یارم قدحی در دست
        مست از می می خواران از نرگس مستش مست

        دیدگاه


          #5
          پاسخ : برنامه اینترفیس با VB ( پورت سریال و Atmega32) کمک!

          سلام من برنامه رو تا حد زیادی نوشتم
          فقط چند جا شک دارم
          یکی اینکه از بافر گیرنده چندبایتی بخونم؟ کلش رو بخونم ؟
          جلوی این دستور چه عددی بگذارم ؟
          MSComm1.InputLen =

          اگر صفر بگذارم کلش خونده می شه و خالی می شه
          اگر دو بگذارم 2 بیت می خونه یا 2 بایت؟
          بعد اینو می ریزم توی یک متغیر string ، با val می تونم بیشتر از یک بایت رو هم تبدیل به عدد کنم ؟؟

          سوال بعدیم اینکه
          دستور goto یا gosub یا همچین چیزی که نداریم پس از call استفاده می کنم منتها نمی خوام وقتی رفت زیر برنامه رو انجام داد برگرده دوباره به بعد از call در واقع می خوام خودم یک goto بسازم برای اینکار چند جای برنامه از call استفاده کردم یعنی از چندین دستور call اینجوری قاطی نمی کنه ؟؟؟؟ خودم که گیج زدم!
          چی کار کنم ؟؟؟؟ :rolleyes:

          کی می تونه کمکم نه اگه متن برنامه رو کامل براش بفرستم ؟؟
          من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

          دیدگاه


            #6
            پاسخ : برنامه اینترفیس با VB ( پورت سریال و Atmega32) کمک!

            جلوی این دستور چه عددی بگذارم ؟
            عدد دو رو بذار (اگه اعدادت دو بایتی هستند) این عدد مربوط به بایت میشه نه بیت.

            بعد اینو می ریزم توی یک متغیر string ، با val می تونم بیشتر از یک بایت رو هم تبدیل به عدد کنم ؟؟
            نمیتونی این کار رو بکنی , چون وقتی میریزی توی یه استرینگ , به صورت باینری ریخته میشه تو رشته , مثلا اگه عددی که خونده 65 باشه , به جای رشته "65" کاراکتر "A" توی این استرینگ هست و با دستور val نمیتونی اونو به عدد تبدیل کنی , برای اینکار از همون Integer استفاده کن.

            دستور goto یا gosub یا همچین چیزی که نداریم پس از call استفاده می کنم منتها نمی خوام وقتی رفت زیر برنامه رو انجام داد برگرده دوباره به بعد از call در واقع می خوام خودم یک goto بسازم برای اینکار چند جای برنامه از call استفاده کردم یعنی از چندین دستور call اینجوری قاطی نمی کنه ؟؟؟؟ خودم که گیج زدم!
            بیسیک goto نداره ؟؟؟
            داره ,
            منظورت رو نفهمیدم چی میخوای
            اما کامپایلر قاطی نمیکنه , نگران نباش
            الهم عجل لولیک الفرج

            دیدگاه


              #7
              پاسخ : برنامه اینترفیس با VB ( پورت سریال و Atmega32) کمک!

              ممنون از اینکه لطف کردین و جواب دادین
              یعنی 2 بایتی بخونم و بریزم توی یک متغیر integer
              بعد خودش از بافر دقیقا همون دو بایتی رو می خونه که میکروی من فرستاده ؟
              یا باید همونطور که آقای یارمحمدی گفتند یک علامتی همراهش بفرستم ؟
              پس بیسیک goto داره ؟ یعنی من می تونم برنامه رو بگم بره از چند خط بالاتر شروع کنه بیاد و در این بین از چندتا private sub... هم رد بشه ؟؟
              حالا امتحان می کنم
              کامپایلر که می دونم قاطی نمی کنه منظورم این بود که برنامه من ممکنه هیچوقت به پایان نرسه! :mrgreen:

              بازم ممنون :job:
              من آن گلبرگ مغرورم که می میرم ز بی آبی ولی با خفت و خواری پی شبنم نمی گردم.

              دیدگاه

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