اطلاعیه

Collapse
No announcement yet.

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

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

    #31
    پاسخ : کمک در ارتباط از طریق پورت سریال

    [size=10pt][color=red]از همه دوستانی که در این تاپیک به من کمک کردند تشکر میکنم
    (ولی پروژه جواب نداد مشکلش رو هیچ کس نفهمید)

    :job: :nice: :smile:
    فقط کسی هرگز اشتباه نمی کند که اصلا کاری انجام نمی دهد

    دیدگاه


      #32
      پاسخ : کمک در ارتباط از طریق پورت سریال

      سلام
      micro_700 جان

      مشکل برای این وجود داره که یکی حلش کنه.

      زندگی یه فرصته

      دیدگاه


        #33
        پاسخ : کمک در ارتباط از طریق پورت سریال

        سلام
        آقای خلیلی
        ولی جواب این مشکلو هیچ کس نمی دونه
        :sad:
        فقط کسی هرگز اشتباه نمی کند که اصلا کاری انجام نمی دهد

        دیدگاه


          #34
          پاسخ : کمک در ارتباط از طریق پورت سریال

          نوشته اصلی توسط micro_700
          سلام
          آقای خلیلی
          ولی جواب این مشکلو هیچ کس نمی دونه
          :sad:
          برنامه ای که براتون تغییر دادم رو تست کردین ؟ چطور ممکنه جواب نگرفته باشین من تست کردم و جواب گرفتم
          سخت افزارتون رو چک کردین ؟ یه برنامه نمایش دیتا رو lcd بنویسین و اجرا کنید ببینین lcd تون کار میکنه ؟ دستور config lcd رو به برنامتون اضافه کردین ؟
          اصلا برنامه که براتون گداشتم رو run میکنید رو دو تا lcd مدارتون چی نشون داده میشه ؟
          اگه من جواب گرفتم شما هم باید بتونین جواب بگیرین مگه اینکه یه جایی از برنامه یا سخت افزارتون با مال من فرق داشته باشه
          اول از همه رو هر دو تا lcd که دارید یه برنامه نمایش دیتا رو run کنید مطمین بشید گیر کار از lcd میکرو برای نمایش نیست
          چه دعایی کنمت بهترازاین ،که کنار پسر فاطمه هنگام اذان ، سحر جمعه ای پشت دیوار بقیع قامتت قد بکشد در دو رکعت به نمازی که نثار حرم و گنبد برپا شده ی حضرت زهرا بکنی ... انشاالله

          دیدگاه


            #35
            پاسخ : کمک در ارتباط از طریق پورت سریال

            سلام،
            من میخوام چند تا میکرو رو با هم سریال کنم !
            Hope For The Best
            Plan For The Worst

            دیدگاه


              #36
              پاسخ : کمک در ارتباط از طریق پورت سریال

              سلام
              شما وقتی دستور print رو می نویسی اطلاعات رو ارسال می کنه در اون طرف همزمان که دستور print می دی باید در قسمت گیرنده دستور input اجرا بشه دستور print یک بار اطلاعات رو ارسال می کنه و دستور input منتظر می مونه تا اطلاعات دریافت بشه و تا زمانی که اطلاعات دریافت نشده به خط بعد نمی ره.
              شما بهتره قبل از اینکه اطلاعات ارسال بشه در گیرنده رو دستور input باشی .

              دیدگاه


                #37
                پاسخ : کمک در ارتباط از طریق پورت سریال

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

                دیدگاه


                  #38
                  پاسخ : کمک در ارتباط از طریق پورت سریال

                  از وقتی که پیام اول رو دادم چند شبه نخابیدم اما بالاخره تونستم چند تا میکرو رو از طریق پورت سریال با هم شبکه کنم .یه توضیح کوچیک میدم مفصلش باشه واسه بعدا.اول اینکه داده ها بهتره که به صورت String ارسال و حتما باید به صورت String دریافت بشه.در میکروهای AVr برای ارتباط سریال چند تا وقفه در نظر گرفته شده یعنی میکروی شما وقتی داده ای رو میخواد دریافت کنه خیلی بهتره که وارده وقفه بشه و وقتی وارد وقفه شد داده رو بگیره و به هر نمایشگری یا میکروی بعدی ارسال کنه.ضمن اینکه چون داده های به صورت String هست شما به راحتی با استفاده از توابع VAL() HEX() BIN() LEFT() RIGHT().... میتونید داده های String رو پردازش کنید.و اما نکته ی خیلی مهم اینکه وقتی شما داده باینری رو به String تبدیل میکنید(با استفاده از تابع STR)وقت ارسال یه رقم اضافی هم به بایت یا عدد شما اضافه خواهد شد برای رفع این مشکل باید از منوی Tools <<<Lib رو باز کنید و تابع افزودنیه mcsbyteint.lib رو به برنامتون اضافه کنید واسه این کار هم لازمه اول برنامه بعد از REGFILE این عبارت رو کپی کنید .$LIB mscbyteint.lbx .البته من فعلا تو شبیه سازی جواب گرفتم ...
                  Hope For The Best
                  Plan For The Worst

                  دیدگاه


                    #39
                    پاسخ : کمک در ارتباط از طریق پورت سریال

                    با سلام
                    من میخوام خروجی سنسور lm35 رو از طریق سریال(uart) سخت افزاری ارسال کنم ولی یه مشکلی وجود داره. که در اولین بار اجرای برنامه دما رو به درستی انتقال میده ولی تو loop های بعدی همش خروجی صفر میده اینم برنامه:
                    گیرنده:
                    $regfile = "m16def.dat"
                    $crystal = 8000000
                    $baud = 9600
                    Config Lcd = 16 * 2
                    Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7 , E = Pinb.3 , Rs = Pinb.2
                    Cls
                    Dim S As Word
                    Lcd "welcome"
                    Do
                    Input S
                    Cls
                    Lcd S
                    Loop
                    End

                    فرستنده:
                    $regfile = "m16def.dat"
                    $crystal = 8000000
                    $baud = 9600
                    Config Adc = Single , Prescaler = Auto , Reference = Avcc
                    Cls
                    Dim W As Word
                    Start Adc
                    Do
                    W = Getadc(0)
                    W = W / 2
                    Lcd W
                    Print W
                    Waitms 1000
                    Loop
                    End

                    دیدگاه


                      #40
                      پاسخ : کمک در ارتباط از طریق پورت سریال

                      نوشته اصلی توسط ashaebani2002
                      با سلام
                      من میخوام خروجی سنسور lm35 رو از طریق سریال(uart) سخت افزاری ارسال کنم ولی یه مشکلی وجود داره. که در اولین بار اجرای برنامه دما رو به درستی انتقال میده ولی تو loop های بعدی همش خروجی صفر میده اینم برنامه:
                      گیرنده:
                      $regfile = "m16def.dat"
                      $crystal = 8000000
                      $baud = 9600
                      Config Lcd = 16 * 2
                      Config Lcdpin = Pin , Db4 = Pinb.4 , Db5 = Pinb.5 , Db6 = Pinb.6 , Db7 = Pinb.7 , E = Pinb.3 , Rs = Pinb.2
                      Cls
                      Dim S As Word
                      Lcd "welcome"
                      Do
                      Input S
                      Cls
                      Lcd S
                      Loop
                      End

                      فرستنده:
                      $regfile = "m16def.dat"
                      $crystal = 8000000
                      $baud = 9600
                      Config Adc = Single , Prescaler = Auto , Reference = Avcc
                      Cls
                      Dim W As Word
                      Start Adc
                      Do
                      W = Getadc(0)
                      W = W / 2
                      Lcd W
                      Print W
                      Waitms 1000
                      Loop
                      End
                      سلام
                      دوست عزیز من پیشنهاد می کنم برای این کار از وقفه سریال استفاده کنید. اگر یک سرچی در سایت بزنید اطلاعات خوبی راجب این قضیه پیدا می کنید حتی برنامه اش هم هست.

                      موفق باشی

                      دیدگاه


                        #41
                        پاسخ : کمک در ارتباط از طریق پورت سریال

                        با تشکر از شما
                        من قبلا وقفه سریالو تست کردم ولی یه سری اعداد غلط نشان میداد(52-50-10-10-10-....) ولی بدون وقفه حداقل یه بار جواب درست میداد.
                        ولی زیاد روش کار نکردم . چشم میرم روی وقفه کار کنم مرسی از جوابتون

                        دیدگاه

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