اطلاعیه

Collapse
No announcement yet.

مشکل در ارتباط میکرو با ویژوال بیسیک از طریق rs232

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

    مشکل در ارتباط میکرو با ویژوال بیسیک از طریق rs232

    سلام دوستان من یک مشکل بزرگ دارم.

    من از uart سخت افزاری برای ارتباط استفاده می کنم.

    با یک do loop یک سری اطلاعات (مقدار دما) را به visual basic ارسال می کنم.

    و داخل برنامه هم دریافت می کنم.

    ولی این شکلی دریافت میشه : ( با تایمر)

    مثلا دمای 45

    45454545454545
    یا در حالت multiline
    45
    45
    45
    45
    که اینو نمیشه توی یک متغیر ذخیره کرد.
    خواستم از دوستان کسی می دونه راه حلش چیه که من هر بار فقط اعداد دو رقمی یا یک رقمی داشته باشم؟؟
    مثلا هر موقع که a=MSComm1.input را که می زارم فقط 45 بیاد داخلش.

    با تشکر

    #2
    پاسخ : مشکل در ارتباط میکرو با ویژوال بیسیک از طریق rs232

    موقع فرستادن کمتر بفرست
    یا تاخیر بین ارسال ها ایجاد کن
    یا یک بایتی به عنوان شروع و پایان باهاشش ارسال کن و توی کامپیوتر اون رو تشخیص بده
    یا ....
    اگه مردم می دونستن زمان چقدر با ارزشه دیگه هیچ وقت کفش بند دار نمی خریدن البرت انیشتن

    دیدگاه


      #3
      پاسخ : مشکل در ارتباط میکرو با ویژوال بیسیک از طریق rs232

      سلام دادا.

      2 تا داری.

      هم با میکرو میتونی و هم با pc.

      باید یه جورایی زمانی که دیتا تغییر میکنه اونا رو توسط میکرو ارسال کنی و یا هنگام دریافت.....

      برای این کار هم کافیه مقدار جدید رو با مقدار قبلی مقایسه کنی. برای این کار مقدار رو توی یه متغیر ذخیره کن و هنگام خوندن مقدار جدید رو با مقدار قبلی مقایسه کن. اگه برابر نبودن ارسالشون کن. این کارو توی گیرنده هم میتونی انجام بدی.

      توی این برنامه زمانی که مقدار پورت عوض میشه، مقادیر ارسال میشه.
      کد:
          if (data!=PINA)
           { 
            data=PINA;
            putchar(data);
           };
      تشکر لازم نیست!

      دیدگاه

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