اطلاعیه

Collapse
No announcement yet.

ارتباط سریال با کامپیوتر

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

    ارتباط سریال با کامپیوتر

    سلام
    من میخوام از طریق برنامه matlab با میکرو ارتباط برقرار کنم.یعنی فقط میخوام یه سری عدد به میکرو بفرستم و یه سری عدد بگیرم.
    تویmatlab ازfread,fwrite دستورهای استفاده میکنم. ولی این ارتباط درست برقرار نمیشه! یعنی اون عددی که کامپیوتر میفرسته با عددی که میکرو دریافت میکنه فرق داره! کسی میدونه باید چه کنم؟

    توی میکرو هم از دستورwaitkey و print استفاده میکنم(bascom).
    مشکل چیه؟
    Be sure your sin will find you out

    #2
    پاسخ : ارتباط سریال با کامپیوتر

    یه مسلمونی جواب بده!
    کارم خیلی گیره :angry: :angry: :angry:
    Be sure your sin will find you out

    دیدگاه


      #3
      پاسخ : ارتباط سریال با کامپیوتر

      از سخت افزارتون مطمئن هستید .
      بین کامپیوتر و میکرو تغییر دهنده level ولتاژ گذاشتید ؟
      در میان مردم پی دستی هستم پی گرمای نگاهی حتی در پس این همه چشم سردی غربت انسان پیداست
      در پس، این همه نور این همه رنگ چه کسی میبیند اشک آن کودک را چشم آن مردی را
      که شبانگاه، سر افکنده ز شرم و به یاد طفل اش بی صدا میگرید، می شکند
      آری این شهر من است این همان شهر شما است در پی چشمی باش که نگاه اش آبی است و پر از نم نم باران بهار

      دیدگاه


        #4
        پاسخ : ارتباط سریال با کامپیوتر

        از سخت افزار مطمئنم.
        چون بامحیط امولاتور بسکام باهاش کار کردم و درست جواب داد.

        مشکل اینه که من نمیدونم میکرو اطلاعات رو به چه فرمی میفرسته!! به فرم عدد یا کاراکتر با کد اسکی؟ من میخوام عدد رد و بدل کنم.
        از برنامه matlab که نوشتم مطمئنم.
        در میکرو هم از دستور input و inputhex استفاده کردم اما جواب نداد.
        حتی به تنهایی از دستور print برای فرستادن عدد به کامپیوتر استفاده کردم ولی جواب نداد!!!
        :angry: :angry: :angry:
        Be sure your sin will find you out

        دیدگاه


          #5
          پاسخ : ارتباط سریال با کامپیوتر

          8بیتی no pareti 1stop bit
          ایا ایسی max رو قرار دادین؟
          کریستال خارجی گزاشتین؟
          فیوز بیت رو رو حالت کریستال خارجی تنظیم کردین؟
          سیم gnd بین میکرو و کامپیوتر وصله؟
          علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

          دیدگاه


            #6
            پاسخ : ارتباط سریال با کامپیوتر

            همه چی درسته.
            فقط از اسیلاتور داخلی استفاده کردم.
            مگه اسیلاتور داخلی مشکلی داره؟
            اگه مشکلی داره پس چرا تونستم توی ترمینال امولاتور بسکام ارتباط با میکرو برقرار کنم.
            Be sure your sin will find you out

            دیدگاه


              #7
              پاسخ : ارتباط سریال با کامپیوتر

              امولاتور شایعس. :mrgreen:
              دقیق نیست
              حتما خارجی بزار
              علم چندانکه بيشتر خواني چون عمل در تو نيست ناداني

              دیدگاه


                #8
                پاسخ : ارتباط سریال با کامپیوتر

                ُسلام
                شما اول به این سوالات من جواب بدید تا ببنیم مشکل شما در کجاست تا بتونم به خوبی شما رو راهنمایی کنم:
                1- اطلاعات رو توسط میکرو برای کامپیوتر می فرستید درست دریافت می شود؟؟
                2-اطلاعاتی که توسط کامپیوتر برای میکرو ارسال می شود چی؟؟
                3- از آی سی Max232 استفاده کردی؟؟
                4- مطمئنید که برنامه مطلب رو درست نوشتید؟؟
                5- باید نرخ ارسال کامپیوتر و میکرو یکی باشه این کار رو کردید؟؟

                دیدگاه


                  #9
                  پاسخ : ارتباط سریال با کامپیوتر

                  1-جواب سوال 1 نه هستش.
                  2- سوال 2 رو تست نکردم
                  3- بله، با ترمینال امولاتور درست کار میکنه.پس سخت افزارم درسته
                  4- برنامه متلب رو تقریبا مطمئنم درسته.
                  5- نرخ ارسال هم یکی هستش.
                  برنامه های من ایناست:
                  برنامه توی متلب:
                  s=serial('com3','baudrate',960 0)
                  fopen(s)
                  for i=1:25
                  a(i)=fread(s,1,'uint8'
                  end
                  fclose(s)

                  برنامه میکرو:
                  دستورات من اینه، مثلا میخوام 30 تا عدد به کامپیوتر بفرسته:
                  $crystal = 8000000
                  $baud = 9600
                  Dim S As Byte
                  Dim I As Byte

                  For I = 1 To 30
                  S = S + 1
                  Print S
                  Next

                  End
                  Be sure your sin will find you out

                  دیدگاه

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