اطلاعیه

Collapse
No announcement yet.

لینک کردن میکروها با RS485

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

    لینک کردن میکروها با RS485

    سلام مجدد خدمت همه ی دوستان.
    دوستان بزرگوار بنده برای انجام پروژم احتیاج دارم که 3 تا میکرو رو با هم لینک کنم،که 2 تای slave م pic16f1938 هست و یه میکروی master م هم pic18f452...
    پروتکل ارتباطیم هم قصد دارم RS485 باشه، با mikroc هم میخوام میکروها رو با هم ارتباط بدم...
    نحوه ی کار هم به این صورت هست که این 3 میکرو وظیفه ی راه اندازی و توقف 7 تا موتور dc رو بر عهده دارن،به این صورت که:

    میکروی master ما کارهایی که لازمه تا موتور های ما شروع به حرکت کنن رو باید انجام بده، از قبیل خوندن فرکانس خروجی یک سنسور، با برنامه ی فرکانس متر، و خوندن 3 تا مقاومت متغیر با a/d

    میکروی slave مون باید کارهایی رو انجام بدن که در نتیجه ی اون موتورهای ما تحت شرایطی که از میکروی master استخراج میشه، در پوزیشنهای متفاوتی بایستند، شرایطی مثل اندازه ی پتانسیومترها و یا اعداد فرکانس متر...

    کارهایی که میکروهای slave باید انجام بدند، برای تعدادی از موتورها خوندن تعداد پالسهایی هست که انکدر موتورها میزنه، و برای تعدادی از اونها تشخیص اینکه چه موقع جریان موتور max میشه، که البته این ماکزیمم شدن جریان هنگامی رخ میده که شافت موتور ما با یه مانعی برخورد میکنه، و اون موقع ما باید تشخیص بدیم که در اون هنگام جریان زیاد شده تا بتونیم به موتور دستور استپ کردن بدیم...
    (البته برای تشخیص جریان max بنده قبلا با کمک دوستان از آیسی LM324 استفاده کردم و با بیسیک تونستم اون لحظه ای که جریان high میشه رو تشخیص بدم، دیروز هم تو جمهوری با یه آیسی برخورد کردم که میشه باهاش جریان موتور رو تا 5 آمپر خوند، یه آیسی 8 پایه ی smd هست به اسم: ACS712ELC، که دقیقا نمیدونم با کدوم یکی کار کنم بهتره!)

    در نتیجه تا به اینجا وظایف هر کدوم از میکروهای slave و master مشخص میشه، و اگه اشتباه نکنم مساله میشه انجام هر کدوم از کارها و بعد لینک کردن میکروها با هم...

    راستش قبلا همه ی کارهای مربوط به میکروهای master و slave از قبیل خوندن فرکانس و a/d و خوندن جریان و تعداد پالسهای انکدر با pic basic pro انجام شده بود منهای لینک کردن میکروها با هم، منتها الان ماجرا کمی تفاوت پیدا کرده با قبل و باید همه ی این کارها با mikroc انجام بشه، که بنده هم شاید کمتر یک ماه هست که کار با این کامپایلر رو شروع کردم، و از بین این کارها فقط a/d رو با این کامپایلر جدید تونستم کار کنم....

    برای ادامه ی کارم و انجام این پروژه بسیار محتاج کمک دوستان بزرگوار هستم تا بتونم کارم رو تموم کنم، و در اوضاعی که به سر میبرم باز هم به کمک دوستانی که تا به امروز بنده رو یاری کردند احتیاج دارم، و بسیار سپاسگذار میشم که دوستان با سوادم بنده رو یاری بفرمایند که برای ادامه ی کار باید چی کار کنم و از کجا باید شروع کنم؟!

    از لطف و بزرگواری همتون سپاسگذارم....
    زندگی برگ بودن در مسیر باد نیست
    امتحان ریشه هاست
    ریشه هم هرگز اسیر باد نیست
    زندگی چون پیچک است
    انتهایش میرسد پیش خدا!

    #2
    پاسخ : لینک کردن میکروها با RS485

    فکر میکنم توضیحاتم خیلی طولانی شده و از حوصله ی دوستان خارج باشه :nerd:
    پس با اجازه ی دوستان خوردش میکنم ....
    برای اول کار میشه دوستان بزرگوارم بفرمایند که برای لینک کردن میکروها و اینکه کار با max485 و این 3 تا میکرویی که عرض کردم دستم بیاد( البته با mikroc) باید چی کار کنم؟!
    متاسفانه چیز زیادی از help کامپایلر دستگیرم نشد...
    زندگی برگ بودن در مسیر باد نیست
    امتحان ریشه هاست
    ریشه هم هرگز اسیر باد نیست
    زندگی چون پیچک است
    انتهایش میرسد پیش خدا!

    دیدگاه


      #3
      پاسخ : لینک کردن میکروها با RS485

      پروژه ات تجاریه یا دانشجوئی ؟ میخواهی به استاد تحویل بدی یا میخواهی برای یازار تولید کنی؟
      انتقال اطلاعات توسط rs232 یا 458 یا can و.... فقط برای مواردیه که قصدت انتقال اطلاعات با سرعت بالا باشه
      دلیلی نداره واسه اطلاعات با سرعت کم و اون هم تکراری از این روشها استفاده کنی
      اگر دانشجوئیه و باید از این راه بری که دوستان راهنمائی میکنند ، توی اکثر کتابهای آموزشی میکرو هم گفته
      فقط نوع میکو هم بگو
      همه دوست دارند به بهشت بروند اما جالب اینجاست کسی دوست ندارد بمیرد
      کانت

      دیدگاه


        #4
        پاسخ : لینک کردن میکروها با RS485

        نوشته اصلی توسط eshgh_namordeh
        پروژه ات تجاریه یا دانشجوئی ؟ میخواهی به استاد تحویل بدی یا میخواهی برای یازار تولید کنی؟
        انتقال اطلاعات توسط rs232 یا 458 یا can و.... فقط برای مواردیه که قصدت انتقال اطلاعات با سرعت بالا باشه
        دلیلی نداره واسه اطلاعات با سرعت کم و اون هم تکراری از این روشها استفاده کنی
        اگر دانشجوئیه و باید از این راه بری که دوستان راهنمائی میکنند ، توی اکثر کتابهای آموزشی میکرو هم گفته
        فقط نوع میکو هم بگو
        سلام، از لطف و پاسختون ممنونم دوست من.
        پروژم صنعتی هست و میخوام برای بازار تولید کنم، با نویزهای الکترومغناطیسی زیادی هم سر و کار دارم.
        نتیجه ی تحقیقات و کمک دوستان بزرگوار به اینجا ختم شد که از این ارتباط استفاده بشه...
        نوع میکروها هم slave هام 2 تا pic16f1938 و میکروی master مون هم pic18f452 هست...
        زندگی برگ بودن در مسیر باد نیست
        امتحان ریشه هاست
        ریشه هم هرگز اسیر باد نیست
        زندگی چون پیچک است
        انتهایش میرسد پیش خدا!

        دیدگاه


          #5
          پاسخ : لینک کردن میکروها با RS485

          خواهش میکنم
          سرعت انتقالت کمه و داده هات محدوده
          نیازی نداری از این روشها استفاده کنی
          شما با پالس انتقال اطلاعات بده ، و توی گیرنده عرض پالس را اندازه بگیر ، هر عرض پالسی نماینگر یک دستوره ، یا چند پالس با عرض محتلف بفرست
          میتونی کلی اطلاعات ارسال کنی
          برای فاصله زیاد هم خروجی میکرو را به یک پ امپ بدین 5 ولت را تبدیل به 12 کنه و ارسال کنید ، در گیرنده هم یک پ امپ بزارید و خروجیش را با زنر 5 ولت کنید بدین به میکرو ، من تا 200 متر از این روش انتقال اطلاعات دادم تست آزمایشگاهی خیلی بیشتر هم میشه ، چندین میکرو هم به هم وصل کردم راحت جواب میده ، نویز هم زیاد تاثیری نداره چون گاه گاه انتقال اطلاعات دارید نه همیشه ، اون هم وقتی ورودیت پ امپ باشه میتونی پالسهای بیشتر از یک ولت را بگیری نویز هم حذف میشه
          برای میکرو هات یک ترانس جدا بزار برقش را کامل از موتور dc ها جدا کن با اپتوکوپلر ارتباط بده مدارت هیچیش نمیشه
          امیدوارم به دردت خورده باشه

          همه دوست دارند به بهشت بروند اما جالب اینجاست کسی دوست ندارد بمیرد
          کانت

          دیدگاه


            #6
            پاسخ : لینک کردن میکروها با RS485


            نوشته اصلی توسط eshgh_namordeh
            خواهش میکنم
            سرعت انتقالت کمه و داده هات محدوده
            نیازی نداری از این روشها استفاده کنی
            شما با پالس انتقال اطلاعات بده ، و توی گیرنده عرض پالس را اندازه بگیر ، هر عرض پالسی نماینگر یک دستوره ، یا چند پالس با عرض محتلف بفرست
            میتونی کلی اطلاعات ارسال کنی
            برای فاصله زیاد هم خروجی میکرو را به یک پ امپ بدین 5 ولت را تبدیل به 12 کنه و ارسال کنید ، در گیرنده هم یک پ امپ بزارید و خروجیش را با زنر 5 ولت کنید بدین به میکرو ، من تا 200 متر از این روش انتقال اطلاعات دادم تست آزمایشگاهی خیلی بیشتر هم میشه ، چندین میکرو هم به هم وصل کردم راحت جواب میده ، نویز هم زیاد تاثیری نداره چون گاه گاه انتقال اطلاعات دارید نه همیشه ، اون هم وقتی ورودیت پ امپ باشه میتونی پالسهای بیشتر از یک ولت را بگیری نویز هم حذف میشه
            برای میکرو هات یک ترانس جدا بزار برقش را کامل از موتور dc ها جدا کن با اپتوکوپلر ارتباط بده مدارت هیچیش نمیشه
            امیدوارم به دردت خورده باشه
            بسیار متشکرم از پاسختون.
            دوست من فرمایش شما کاملا درسته، و من هم اصلا فاصله ی زیاد مدّ نظرم نیست، اما مساله اینه که انتقال اطلاعاتم پیوسته ست، یعنی هر لحظه موتورهام که به میکروی slave وصلند، از طریق شروطی که از master میاد باید آماده بشن برای شروع حرکت...

            متاسفانه بنده از لینک کردن میکروها هیچی نمیدونم، از روشی هم که شما فرمودید با خوندن چندین باره یه چیزایی دستگیرم شد! ولی واقعا نمیدونم تو عمل باید چی کار کنم؟!
            میخواستم ازتون خواهش کنم اگه امکان داره لطف کنید و یه مقدار بیشتر برام توضیح بفرمائید که با چه سخت افزاری و برنامه ای که میشه با این روش میکروها رو ارتباط داد، و همینطور در مورد ضریب اطمینان کار،این که تا چه حد میتونم مطمئن باشم که بعدها خللی تو کار به وجود نمیاد...

            و با تمام لطفی که کردید و احترام خاص به سوادتون، جسارتا میخوام بپرسم ضریب اطمینان این روش به پای ارتباط RS485 میرسه؟

            شرمنده ام مهندس از این همه سوال :redface:

            از سایر دوستان هم خواهشمندم تو این بحث شرکت کنن، تا همه ی بار اون به گردن دوست بزرگوارمون نباشه...

            زندگی برگ بودن در مسیر باد نیست
            امتحان ریشه هاست
            ریشه هم هرگز اسیر باد نیست
            زندگی چون پیچک است
            انتهایش میرسد پیش خدا!

            دیدگاه


              #7
              پاسخ : لینک کردن میکروها با RS485

              اینکه مستر شما دستور میده به بقیه موتورها حرکت کنند یا قطع کنند ، چند لحظه یکبار اتفاق میافته ؟ شما اگر حداکثر هر نیم ثانیه هم بخواهی دستور بدی میتونی از روش پالس استفاده کنی نویز هم روش تاثیری نداره و میتونی 100 تا دستگاه هم به هم وصل کنی


              مسلما rs458 امنیت بالاتری داره و نیاز به آی سی جانبی داره ، کلا در مدارها هر چی تعداد آی سی ها کمتر باشه احتمال خرابی کمتره

              در روش پالس شما یک پالس با فرکانس مثلا 10 هرتز بفرست یعنی میشه 10 پالس در یک ثانیه و در گیرنده عرض پالس را اندازه بگیر مثلا میشه عدد200
              این را بزار مثلا دستور موتور یک روشن
              بیا دوباره یک پالس بفرست با فرکانس 20 و در گیرنده اندازه بگیر مثلا میشه عدد 100 ، این را بزار مثلا دستور موتور 2 روشن
              اینطوری میتونی کلی دستگاه را به هم وصل کنی و همه را فقط با دو تا سیم دستور بدی بهشون


              یک روش دیگه هم اینه که اگر سرعتت کمه از آی سی تلفن استفاده کنی خود میکرو dtmf ارسال میکنه که به صورت fsk میره و خیلی نویز پذیری کمی هم داره و توی گیرنده Mt8870 بزاری که تشخیص بدی چه عددی ارسال شد و دستور مربوطه را انجام بدی و میتونی با هر عددی یک دستوری ارسال کنی

              توی rs458 هم باید از آی سی واسط adm485 استفاده کنی ، هر میکرو را خروجیش را با 3 تا پایه میدی به این آی سی و در گیرنده ها هم به این آی سی میدی و سپس به میکرو وصل میشه و میتونی تا 32 قطعه را به هم وصل کنی تا 128 هم با اضافه کردن قطعات میشه توی اکثر کتابهای آموزش میکرو روش اتصال به rs458 را کامل گفتند .و سرعت انتقال خیای بالائی داره که بیشتر برای دیتا و فواصل طولانی تا 1.5 کیلومتر هم جواب میده

              دیگه خودت نگاهکن به پروژه ات ببین کدام برات به صرفه تر و کاربردیتره

              همه دوست دارند به بهشت بروند اما جالب اینجاست کسی دوست ندارد بمیرد
              کانت

              دیدگاه


                #8
                پاسخ : لینک کردن میکروها با RS485

                نوشته اصلی توسط eshgh_namordeh
                اینکه مستر شما دستور میده به بقیه موتورها حرکت کنند یا قطع کنند ، چند لحظه یکبار اتفاق میافته ؟ شما اگر حداکثر هر نیم ثانیه هم بخواهی دستور بدی میتونی از روش پالس استفاده کنی نویز هم روش تاثیری نداره و میتونی 100 تا دستگاه هم به هم وصل کنی


                مسلما rs458 امنیت بالاتری داره و نیاز به آی سی جانبی داره ، کلا در مدارها هر چی تعداد آی سی ها کمتر باشه احتمال خرابی کمتره

                در روش پالس شما یک پالس با فرکانس مثلا 10 هرتز بفرست یعنی میشه 10 پالس در یک ثانیه و در گیرنده عرض پالس را اندازه بگیر مثلا میشه عدد200
                این را بزار مثلا دستور موتور یک روشن
                بیا دوباره یک پالس بفرست با فرکانس 20 و در گیرنده اندازه بگیر مثلا میشه عدد 100 ، این را بزار مثلا دستور موتور 2 روشن
                اینطوری میتونی کلی دستگاه را به هم وصل کنی و همه را فقط با دو تا سیم دستور بدی بهشون


                یک روش دیگه هم اینه که اگر سرعتت کمه از آی سی تلفن استفاده کنی خود میکرو dtmf ارسال میکنه که به صورت fsk میره و خیلی نویز پذیری کمی هم داره و توی گیرنده Mt8870 بزاری که تشخیص بدی چه عددی ارسال شد و دستور مربوطه را انجام بدی و میتونی با هر عددی یک دستوری ارسال کنی

                توی rs458 هم باید از آی سی واسط adm485 استفاده کنی ، هر میکرو را خروجیش را با 3 تا پایه میدی به این آی سی و در گیرنده ها هم به این آی سی میدی و سپس به میکرو وصل میشه و میتونی تا 32 قطعه را به هم وصل کنی تا 128 هم با اضافه کردن قطعات میشه توی اکثر کتابهای آموزش میکرو روش اتصال به rs458 را کامل گفتند .و سرعت انتقال خیای بالائی داره که بیشتر برای دیتا و فواصل طولانی تا 1.5 کیلومتر هم جواب میده

                دیگه خودت نگاهکن به پروژه ات ببین کدام برات به صرفه تر و کاربردیتره
                باز هم از حضور و پاسختون یک دنیا ممنونم آقا.
                راستش دستور دادن مستر به موتورها میشه گفت این شکلیه که هر موتوری که باید روشن بشه در ابتدای روشن شدن دستگاه دستورش رو از مستر میگیره و بعد از اون موتورها بعد از اینکه تو پوزیشنهاشون قرار گرفتند، باید دائما منتظر رسیدن دستور تغییر پوزیشن و یا دستور استپ و حرکت مجدد از جانب مستر باشن، که این اتفاق میشه گفت گاها هر 4 یا 5 دقیقه یکبار هم ممکنه تکرار بشه...

                بسیار ممنونم از توضیحاتتون در مورد روش پالس و dtmf، اتفاقا برای خود عمل شماره گیری قبلا از آیسی Mt8888 استفاده کرده بودم و با نحوه ی کارش تا حدودی آشنام، اما برام جالب بود که میشه اینجا هم از کاربردش استفاده کرد!

                بله، 485 رو هم از تو کتاب دکتر میرزا کوچکی یه چیزهایی خوندم، و هم اینکه کمی هلپ میکروسی رو نگاه کردم، و بیشتر هم با اجازه ی شما مایلم که با همین ارتباط کار کنم :redface: کما اینکه اصلا تا به حال باهاش کار نکردم و به سواد شما و سایر دوستان هم نیازمندم...
                زندگی برگ بودن در مسیر باد نیست
                امتحان ریشه هاست
                ریشه هم هرگز اسیر باد نیست
                زندگی چون پیچک است
                انتهایش میرسد پیش خدا!

                دیدگاه


                  #9
                  پاسخ : لینک کردن میکروها با RS485

                  آیا غیر از ارتباط RS485 از روش ارتباطی سریال دیگری مثلا RS232 تا به حال استفاده کرده اید ؟
                  RS485 یک پروتکل لایه سخت افزاری ارتباط داده است که عملا میکرو کنترلر کار خاصی نمی تواند روی آن انجام دهد از دیدگاه میکرو کنترلر ارتباط بصورت یک ارتباط سریال معمولی است .
                  مهم ترین نکته این است که ارتباط دو طرفه هم زمان یا دوطرفه غیر همزمان مورد نیاز است(Full Duplex or Half Duplex) در صورت نیاز به دو طرفه همزمان احتیاج به 4 رشته سیم و دو درایور RS485 خواهید داشت.

                  دیدگاه


                    #10
                    پاسخ : لینک کردن میکروها با RS485

                    نوشته اصلی توسط jalal gilani
                    آیا غیر از ارتباط RS485 از روش ارتباطی سریال دیگری مثلا RS232 تا به حال استفاده کرده اید ؟
                    RS485 یک پروتکل لایه سخت افزاری ارتباط داده است که عملا میکرو کنترلر کار خاصی نمی تواند روی آن انجام دهد از دیدگاه میکرو کنترلر ارتباط بصورت یک ارتباط سریال معمولی است .
                    مهم ترین نکته این است که ارتباط دو طرفه هم زمان یا دوطرفه غیر همزمان مورد نیاز است(Full Duplex or Half Duplex) در صورت نیاز به دو طرفه همزمان احتیاج به 4 رشته سیم و دو درایور RS485 خواهید داشت.
                    بسیار ممنونم از حضور و پاسختون جناب gilani.
                    خیر متاسفانه برای بار اول هست که مجبور به لینک کردن میکروها میشم، و این ارتباط هم اولین ارتباط مد نظر هست، که متاسفانه اطلاعات مختصری ازش دارم...
                    منتها شدیدا نیاز دارم که نحوه ی کار با اون رو یاد بگیرم و ازش استفاده کنم، آیسی های ADM485 رو هم گرفتم...
                    فعلا تنها سورس موجود help کامپایلر MIKROC هست که این ارتباط رو توضیح داده اما برنامه هایی که به عنوان مثال آورده کمی برام مبهم هست و احتیاج به راهنمائی دوستانی هست که در این زمینه کار کردند، که باید به چه نحو کار کرد...
                    زندگی برگ بودن در مسیر باد نیست
                    امتحان ریشه هاست
                    ریشه هم هرگز اسیر باد نیست
                    زندگی چون پیچک است
                    انتهایش میرسد پیش خدا!

                    دیدگاه


                      #11
                      پاسخ : لینک کردن میکروها با RS485

                      سلام.مشابه این عکس میتونین عمل کنین.دقت کنین که برنامه ی میکروها مشابه Help کامپایلر عمل کنین با این تفاوت که :

                      کد:
                      sbit rs485_rxtx_pin at RC2_bit;       // set transcieve pin
                      sbit rs485_rxtx_pin_direction at TRISC2_bit;  // set transcieve pin direction
                      تبدیل خواهد شد به :

                      کد:
                      sbit rs485_rxtx_pin at RC5_bit;       // set transcieve pin
                      sbit rs485_rxtx_pin_direction at TRISC5_bit;  // set transcieve pin direction
                      تو عکس زیر هم این موارد رو جا انداختم ، اما شما یادتون باشه.
                      پایه ی B با مقاومت 4.7 کیلو به زمین وصل میشه و پایه ی A با مقاومت 4.7 کیلو به Vcc. خطوط مستقیما به هم وصل نمیشن و یه مقاومت کم اهم تو مسیر A و B هر IC وجود داره.
                      به Help کامپایلر نگاه کنین کامل متوجه سخت افزار میشین.

                      دیدگاه


                        #12
                        پاسخ : لینک کردن میکروها با RS485

                        سلام.
                        بسیار متشکرم از لطفتون جناب مهندس.
                        اما شاید باورتون نشه، حتی برنامه ی خود کامپایلر هم مدام error میده!
                        واقعا نمیدونم چرا؟!
                        با این ارتباط هم کار نکردم که بدونم تغییراتی که تو برنامه به نفع برطرف شدن اون خطاها میدم، درست هست یا نه!

                        برنامش اینه، البته واسه master، هر چند فرقی هم نمیکنه و تو slave هم دقیقا error هاش رو همین خطهایی هست که عرض میکنم و تو همین برنامه خطا میده:

                        کد:
                         char dat[10];             // buffer for receving/sending messages
                        char i,j;
                        
                        sbit rs485_rxtx_pin at RC2_bit;        // set transcieve pin
                        sbit rs485_rxtx_pin_direction at TRISC2_bit;  // set transcieve pin direction
                        
                        // Interrupt routine
                        void interrupt() {
                         RS485Master_Receive(dat);
                        }
                        
                        void main(){
                         long cnt = 0;
                        
                         ANSEL = 0;             // Configure AN pins as digital I/O
                         ANSELH = 0;
                         C1ON_bit = 0;            // Disable comparators
                         C2ON_bit = 0;
                        
                         PORTB = 0;
                         PORTD = 0;
                         TRISB = 0;
                         TRISD = 0;
                        
                        
                         UART1_Init(9600);          // initialize UART1 module
                         Delay_ms(100);
                        
                         RS485Master_Init();         // initialize MCU as Master
                         dat[0] = 0xAA;
                         dat[1] = 0xF0;
                         dat[2] = 0x0F;
                         dat[4] = 0;             // ensure that message received flag is 0
                         dat[5] = 0;             // ensure that error flag is 0
                         dat[6] = 0;
                        
                         RS485Master_Send(dat,1,160);
                        
                        
                         RCIE_bit = 1;            // enable interrupt on UART1 receive
                         TXIE_bit = 0;            // disable interrupt on UART1 transmit
                         PEIE_bit = 1;            // enable peripheral interrupts
                         GIE_bit = 1;             // enable all interrupts
                        
                         while (1){
                                            // upon completed valid message receiving
                                            //  data[4] is set to 255
                          cnt++;
                          if (dat[5]) {           // if an error detected, signal it
                           PORTD = 0xAA;          //  by setting portd to 0xAA
                          }
                          if (dat[4]) {           // if message received successfully
                           cnt = 0;
                           dat[4] = 0;           // clear message received flag
                           j = dat[3];
                           for (i = 1; i <= dat[3]; i++) { // show data on PORTB
                            PORTB = dat[i-1];
                           }                // increment received dat[0]
                           dat[0] = dat[0]+1;        // send back to master
                           Delay_ms(1);
                           RS485Master_Send(dat,1,160);
                        
                          }
                          if (cnt > 100000) {
                           PORTD ++;
                           cnt = 0;
                           RS485Master_Send(dat,1,160);
                           if (PORTD > 10)         // if sending failed 10 times
                            RS485Master_Send(dat,1,50);  //  send message on broadcast address
                           }
                         }
                        
                        }
                        حالا اصلا گذشته از حلقه ی while که اکثر جاهاش برام مبهمه! ایرادی که کامپایلر میگیره سر این خطوط هست (هم تو برنامه ی slave، هم تو master)

                        کد:
                         ANSEL = 0;             // Configure AN pins as digital I/O
                         ANSELH = 0;
                         C1ON_bit = 0;            // Disable comparators
                         C2ON_bit = 0;
                        به نظر شما ایراد از کجاست؟!

                        زندگی برگ بودن در مسیر باد نیست
                        امتحان ریشه هاست
                        ریشه هم هرگز اسیر باد نیست
                        زندگی چون پیچک است
                        انتهایش میرسد پیش خدا!

                        دیدگاه


                          #13
                          پاسخ : لینک کردن میکروها با RS485

                          با عرض پوزش! واسه اینکه اون رجیستر ها تو این میکروها وجود نداره!! :redface: 877 ANSEL نداره.

                          دیدگاه


                            #14
                            پاسخ : لینک کردن میکروها با RS485

                            نوشته اصلی توسط شاهرخ
                            با عرض پوزش! واسه اینکه اون رجیستر ها تو این میکروها وجود نداره!! :redface: 877 ANSEL نداره.
                            بسیار ممنونم.
                            پس چرا گذاشتن تو برنامشون؟! مگه نه اینکه شماتیکی هم که بستن هم واسه slave، هم master واسه 877 هست؟! :angry:
                            واسه 452 باید رعایت کنم؟؟
                            زندگی برگ بودن در مسیر باد نیست
                            امتحان ریشه هاست
                            ریشه هم هرگز اسیر باد نیست
                            زندگی چون پیچک است
                            انتهایش میرسد پیش خدا!

                            دیدگاه


                              #15
                              پاسخ : لینک کردن میکروها با RS485

                              میکروی تو مثال کامپایلر 887 هست؛ نه 877! شدیدا مشابه هم هستن؛ اما زمین تا زیرزمین :mrgreen: با هم فرق دارن....اون کریستال داخلی داره؛ 14 تا ADC داره و چندتا تفاوت جزیی....

                              نوشته اصلی توسط pama
                              واسه 452 باید رعایت کنم؟؟
                              واسه هردوتاش باید رعایت کنین.

                              دیدگاه

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