اطلاعیه

Collapse
No announcement yet.

سوال در مورد Usart

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

    سوال در مورد Usart

    یه سوال خیلی کوچیک در مورد واحد یوزارت AVr دارم ..

    موقعی که یه داده رو دریافت میکنیم، یا یه قابی دریافت میشه ، قبل از دریافت باید رجیستر قاب داده ( UDR ) باید رجیستر UCSRA رو خوند و چک کرد ، در واقع سه بیت وسطش که مربوط به خطا هست ، حالا سوالم اینه که این کار رو که قطعا باید در روش پولینگ ( سرکشی ) انجام داد ، حالا برای نوشتن برنامه به صورت اینتراپتی ( وقفه ای ) ( Interrupt) باز هم باید این سه بیت رو چک کرد و ببینیم اگه صفر بودن بعد قاب رو دریافت کنیم !؟

    ضمن اینکه سوالی هم در مورد نحوه ساختن ، و محاسبه و چک کردن FCS در ارسال و دریافت یک قاب در یوزارت میخواستم بدونم ..

    ممنون.. اگه کسی میدونه .. سریعتر پاسخ بده..

    #2
    پاسخ : سوال در مورد Usart

    چرا polling وقفه uasrto فعال کن
    در ضمن این سایت کمکت میکنه
    ویدئو uasrt حتما نگاه کن
    knowledgeplus.ir
    :rolleyes:
    .The best question deserves a better answer
    =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=
    «پناه»می برم «به خدا»
    از عـیبی که ، «امروز» در خود می بینم، و «دیروز» «دیگران را» به خاطر، «هـمان عیـب» ملامت کرده ام.
    محتاط باشیم، در «سرزنش» و «قضاوت کردن دیگران». وقتی نه از «دیروز او» خبر داریم و نه از "فردای خودمان" .

    دیدگاه


      #3
      پاسخ : سوال در مورد Usart

      سلام

      خواندن رجیستر وضعیت برای بررسی خطای انتقاله همونطور که خودت گفتی . و ربطی به اینکه به روش polling و یا وقفه ای بخونی نداره ! و بهتره در هر حالت چک بشه و در صورتیکه خطایی وجود داشت از داده ی رسیده صرف نظر بشه ! همچنین میتونی از این خاصیت برای هندل کردن خطا ( Error Handling) استفاده کنی ! در صورتیکه از بیت توارن (parity bit) استفاده نمی کنی میتونی از خطای اون صرف نظر کنی !

      از مهمترین روش های تشخیص خطا :
      استفاده از check sum در فریم ارتباطی
      استفاده از crc در فریم ارتباطی
      استفاده از header و footer در فریم ارسالی
      که میشه هر کدومو به تنهایی و یا همشونو با هم در یک فریم پیاده سازی کرد !
      موفق باشی

      دیدگاه

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