اطلاعیه

Collapse
No announcement yet.

مدباس و usart

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

    مدباس و usart

    والا ما که هر چی سوال داشتیم کسی جواب نداد
    امیدوارم یکی جواب بده
    دوتا میکرو رو میخوام مستر اسلیوی به هم وصل کنم سخت افزاری 485 که وصل کردم و مشکلی نداره نرم افزاری مدباس
    مثلآ میخوام یه چشمک زن درست کنم روی یه پورت اسلیو
    سوال اول اینکه چه جوری یه بایتو با usart بفرستم بگیرم تو کدویژن
    (با printf,puts بفرستم با printf,scanf,gets بگیرم؟)
    مثلآ واسه این چشمک زن اینو مستر بفرسته
    01 05 00 00 CRC 00 FF
    البته از راست به چپ اینجوری میگم میخوام رو یه خروجیه اسلیو بنویسم که آدرسش صفره و FF یعنی روشنش کن
    اسلیو هم همین کد رو برمیگردونه
    سری بعد
    01 05 00 00 00 00 crc
    یعنی خاموشش کن
    سوال دوم باید توو اسلیو یه جدول مانند درست کنم که مثلآ آدرس 0 مدباس PORTA.0 هست؟
    سوال سوم تایمرهای T1.5 و T3.5 که 750 میکرو ثانیه و 1750 میکرو ثانیه هست رو چه جوری درست کنم

    #2
    پاسخ : مدباس و usart

    از PUTSF نمیتوان استفاده کرد چون کاراکتر اضافب ارسال می کند .

    به نظر من بهترین روش برای ارسال و دریافت سریال ، استفاده از وقفه آنهاست
    با وقفه شما وقت میکرو کنترلر را بی جهت تلف نخواهید کرد.

    دیدگاه


      #3
      پاسخ : مدباس و usart

      سلام استاد گیلانی
      مثلآ میخوام یه بایت ارسال کنم اینجوری میشه؟
      char a
      puts(a)
      میخوام بگیرم
      char a
      gets(8,a)
      توو کتاب اینجوریه میخونه
      while(!(UCSRA & (1<<UDRE)));
      UCSRB |=(1<<TXB8);
      UDR=address;
      چند تا کتابخونه واسه مدباس مستر پیدا کردم مدباس سخت نیست میدونم چه کدی بفرستم بگیرم با usart زیاد کار نکردم
      http://ali73909.persiangig.com/document/modbus%20.c
      اینم یه نگاه بندازین فکر کنم بدردبخوره واسه آرمم داره
      http://ali73909.persiangig.com/document/freemodbus-v1.2.rar

      دیدگاه


        #4
        پاسخ : مدباس و usart

        دوست عزیز من کمکت میکنم usart رو راه بندازی توام اطلاعاتی که از modbus داری بهم بده
        تبادل خوبیه به نظر من ارزش داره...

        ایدی من : anti.dark@yahoo.com

        دیدگاه


          #5
          پاسخ : مدباس و usart

          سلام آقای محمدی
          یک برنامه مدباس با میکروکنترلر ATMEGA64 به ایمیلتون ارسال کردم منتها در مد Slave می باشد با کمی تغییر می توانید آنرا در مد Master هم استفاده کنید چون وقفه دریافت و ارسال در این دو حالت هیج تفاوتی ندارد
          متاسفانه سایت مناسبی برای دانلود فایل پیدا نکردم برای همین براتون ارسال کردم.
          موفق باشید

          دیدگاه


            #6
            پاسخ : مدباس و usart

            اتفاقآ من هم در آخر میخواستم slave درست کنم که pm یا plc رو master کنم
            از adc خارجی جواب گرفتم
            ممنون بابت کمکتون اگه میشه یه بار دیگه بفرستین نرسیده
            mohammadi.1987@gmail.com

            دیدگاه


              #7
              پاسخ : مدباس و usart

              با عرض پوزش ارسال شد.

              دیدگاه


                #8
                پاسخ : مدباس و usart

                اگه میشه یه جا پلود کنید ما هم استفاده کنیم ممنون

                دیدگاه


                  #9
                  پاسخ : مدباس و usart

                  اکر سایت مناسبی برای پلود می شناسید معرفی کنید ، متاسفانه یکی دو سایتی که معمولا از آنها استفاده می کردم ،مقدور نشد.

                  دیدگاه


                    #10
                    پاسخ : مدباس و usart

                    مهندس گیلانی پنلو مستر کردم و یک نامریک دیسپلی گذاشتم فلوت با آدرس 10
                    در اسلیو هم به اینصورت گذاشتم
                    reg_buff[10]=0
                    reg_buff[11]=1
                    وقفه گیرنده درست کار میکنه وارد تابع command میشه آدرس اسلیو هم چک میشه اما وارد case 3 نمیشه با یه led چک کردم
                    این برناممه البته بعضی جاهارو حذف کردم
                    همش 1 و 255 میخونم
                    http://ali73909.persiangig.com/document/slave.rar

                    دیدگاه


                      #11
                      پاسخ : مدباس و usart

                      مطمن هستید که به تابع Command وارد می شود ؟
                      چیزی که من از برنامه شما دیدم انتهای تابع INIT یک حلقه بی نهایت وجود دارد که هیچگاه از آن خارج نخواهد شد.

                      دیدگاه


                        #12
                        پاسخ : مدباس و usart

                        درسته دیشب تست کردم دیدم از init خارج نمیشه while رو پاک کردم یادم رفت برناممو ادیت کنم حالا وارد تابع مدباس میشه آدرسم چک میکنه اما فریم بعدی باید 5 باشه که نیست
                        فریم ها رو اشتباه میگیرم
                        Boud rate و بقیه چیزام یکیه
                        من کر یستال 7.3728 گذاشتم فیوز بیتشم 1111 گذاشتم
                        اما کریستال رو در هم میارم باز هم کار میکنه یعنی داره از rc داخلی استفاده میکنه و فیوز بیت پروگرم نشده؟
                        خودم احساس میکنم کلاک ها یکی نیست که درست دریافت نمیکنم

                        (از همون فیوز بیت بود)
                        البته جواب کامل نگرفتم اما فریم ها درست بود میکرو لاک شد نشد دیگه تست کنم یه پروگرمر خریدم معلوم نیست جوریه اصلآ

                        دیدگاه


                          #13
                          پاسخ : مدباس و usart

                          حل شد استاد گیلانی دستتون درد نکنه برنامه باعث شد قشنگ بفهمم مدباس رو
                          هم به hmi pm وصل کردم هم به plc

                          دیدگاه

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