اطلاعیه

Collapse
No announcement yet.

مشکل با نرخ ارسال تو ارتباط سریال !!

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

    #16
    پاسخ : مشکل با نرخ ارسال تو ارتباط سریال !!

    سلام
    دوست عزیز شما یاید خطاتئ کم کنی فرکانسو هرچقد می خوای بذار 1MHZ جواب میده اما به شرطی که درصد خطا نشه 10 درصد
    اصلا بیا یه کاره دیگه بکن بگو میخای باود ریت چقد باشه؟
    میکروتم فرستنده است یا گیرنده؟
    بگو مقدار رجیسترو بگم چقدر بدی؟

    دیدگاه


      #17
      پاسخ : مشکل با نرخ ارسال تو ارتباط سریال !!

      من تو مدارم کریستال 16 مگ گذاشتم. با محاسباتی که انجام دادم و تو مراجع هستش، خطای ارسال در 9600، برابر با 0.2 به دست می آید. با همین درصد خطا وقتی ارسال رو انجام میدم، سمت گیرنده اصلا درست دریافت نمیشه !!
      میکروی من گیرنده است.
      ---------
      .
      .
      ...........

      دیدگاه


        #18
        پاسخ : مشکل با نرخ ارسال تو ارتباط سریال !!

        پورت سریال کامپیوتر تا 5-6% خطا هیچ مشکلی نداره. میکروکنترلرها هم همینطورند. تینکه میگم هیچ مشکلی، یعنی دقیقاً هیـــــــــــچ مشکلی ندارند. بارها و بارها امتحان کردم.
        محض اطلاع اکثر میکروها یه ضریب 2x دارند برای اینکه نرخ دوبرابر درست کنند.

        به نظرم مشکل از کریستال و فیوزبیتهای کلاکه. من یه بار یه ATtiny2313 راه انداختم پورت سریالش این مشکلی که می گید رو داشت. با کلی دردسر و پرس و جو فهمیدم که یه مقسم کلاک سر راه ادوات جانبی داخلی میکروکنترلر وجود داشته که بطور پیش فرض 8 بوده و باید موقع پروگرام می کردمش یک.
        اول از همه مطمئن بشید که برنامه میکروکنترلر داره با کلاک مورد نظرتون اجرا می شه.
        بیایید با Google آشتی کنیم!

        دیدگاه


          #19
          پاسخ : مشکل با نرخ ارسال تو ارتباط سریال !!

          اره میشه
          درست یا اشتباه ارسال شدن به این مربوطه که درصد خطا چقدر باشه.
          بیا یه کاره راحت بکنیم
          شما دقیقا میخای رو چه باودی باشه
          میکرو میخواد فرستنده باشه یا گیرنده؟

          دیدگاه


            #20
            پاسخ : مشکل با نرخ ارسال تو ارتباط سریال !!

            مثلا رو باود 9600 و 38400
            میکرو هم گیرنده باشه.
            ---------
            .
            .
            ...........

            دیدگاه


              #21
              پاسخ : مشکل با نرخ ارسال تو ارتباط سریال !!

              ببخشید من بطور اشتباه یک پست رو دوباز جواب دادم!!
              خب این برنامه برای کدوییژن هستش
              ساده ترین و کوتاهترین برنامه همیشه هم جواب دادهو میده برای باود 9600
              تنظیمات طوریه که میکرو گیرنده باشه
              وقفه ورود دیتا جدید به همراه تابعش هم هست
              اگه خواستی بری رو باود 38400 فقط کافیه
              اون رجیستری که برابر0x33 بود رو بکنی 0x0C

              #include <mega32.h>

              interrupt [USART_RXC] void usart_rx_isr(void)
              {

              }


              void main(void)
              {
              UCSRA=0x00;
              UCSRB=0x90;
              UCSRC=0x86;
              UBRRH=0x00;
              UBRRL=0x33;

              #asm("sei&quot

              while (1)
              {

              }
              }

              دیدگاه


                #22
                پاسخ : مشکل با نرخ ارسال تو ارتباط سریال !!

                نوشته اصلی توسط pouyaojaghi
                ببخشید من بطور اشتباه یک پست رو دوباز جواب دادم!!
                خب این برنامه برای کدوییژن هستش
                ساده ترین و کوتاهترین برنامه همیشه هم جواب دادهو میده برای باود 9600
                تنظیمات طوریه که میکرو گیرنده باشه
                وقفه ورود دیتا جدید به همراه تابعش هم هست
                اگه خواستی بری رو باود 38400 فقط کافیه
                اون رجیستری که برابر0x33 بود رو بکنی 0x0C

                #include <mega32.h>

                interrupt [USART_RXC] void usart_rx_isr(void)
                {

                }


                void main(void)
                {
                UCSRA=0x00;
                UCSRB=0x90;
                UCSRC=0x86;
                UBRRH=0x00;
                UBRRL=0x33;

                #asm("sei&quot

                while (1)
                {

                }
                }
                خواهش می کنم، ممنون از اینکه جواب دادید.
                منم همین تنظیمات رو میزارم. اما وقتی که تو عمل تست می کنم، بگیر نگیر داره !!!!
                البته با حرف هایی که شما و دوستان دیگه زدن فکر کنم میکرو مشکلی نداره و ایراد تو برنامه لب ویو باشه.
                اونجا هم وقتی تو ترمینال کدویژن تست می کنم مشکلی نیست.

                نوشته اصلی توسط محمد رستمی
                پورت سریال کامپیوتر تا 5-6% خطا هیچ مشکلی نداره. میکروکنترلرها هم همینطورند. تینکه میگم هیچ مشکلی، یعنی دقیقاً هیـــــــــــچ مشکلی ندارند. بارها و بارها امتحان کردم.
                محض اطلاع اکثر میکروها یه ضریب 2x دارند برای اینکه نرخ دوبرابر درست کنند.

                به نظرم مشکل از کریستال و فیوزبیتهای کلاکه. من یه بار یه ATtiny2313 راه انداختم پورت سریالش این مشکلی که می گید رو داشت. با کلی دردسر و پرس و جو فهمیدم که یه مقسم کلاک سر راه ادوات جانبی داخلی میکروکنترلر وجود داشته که بطور پیش فرض 8 بوده و باید موقع پروگرام می کردمش یک.
                اول از همه مطمئن بشید که برنامه میکروکنترلر داره با کلاک مورد نظرتون اجرا می شه.
                ممنون از جوابت
                تو فیوز بیت ها از کدومشون باید این نکته رو متوجه بشم ؟
                و اینکه چطور ببینم میکرو داره با کلاک مورد نظرم کار میکنه ؟ میشه مثلا یه LED رو خاموش و رشن کنم و تاخیری که براش تعریف کردم رو بررسی کنم ؟
                ---------
                .
                .
                ...........

                دیدگاه


                  #23
                  پاسخ : مشکل با نرخ ارسال تو ارتباط سریال !!

                  دوست عزیز برنامه من فرکانسش 8 مگا هرتز هست که میتونی از rc osilator داخلی استفاده کنی
                  اشتباه نکنی بذاری رو 8مگا

                  دیدگاه

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