اطلاعیه

Collapse
No announcement yet.

usart

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

    usart

    با سلام به همه من هنگام دریافت از usart با دستورات مختلف مثلا scanf() یا getchar() تمام برنامه متوقف میشه اگر از usart چیزی دریافت شد بعد مراحل بعدی برنامه اجرا میشود چکار کنه که برنامه ام در حال اجرا باشه وقتی اطلاعات به usart رسید دستور getchar یا scanf فعال بشه مرسی

    #2
    پاسخ : usart

    سلام
    بهتر بود ابتدا در مورد usart در همین سایت جستجو میکردید
    اما پاسخ شما:
    شما باید از وقفه استفاده کنی
    یوزارت هم وقفه نوشتن داره هم وقفه خوندن
    یعنی با فعال کردن هرکدومشون میتونی یک وقفه داشته باشی
    مثلا اگه وقفه ی دریافت رو فعال کرده باشی
    به محض اینکه داده ای دریافت بشه
    و بافر گیرنده پر بشه
    یکی از پرچم های وقفه -مربوط به وقفه گیرنده یوزارت- یک شده
    و برنامه ت به زیر برنامه ی وقفه انتقال پیدا میکنه
    حالا میتونی داده رو با دریافت کنی
    یعنی کافیه محتویات بافر رو در این لحظه
    به متغیر دلخواهت منتقل کنی.
    لینک های زیر هم ببین:
    http://www.eca.ir/forum2/index.php?topic=57824
    http://www.eca.ir/forum2/index.php?topic=79267
    http://www.eca.ir/forum2/index.php?topic=42531
    :read:
    1: اللهم صل علي محمد و آل محمد و عجل فرجهم و ...
    2: دانش بهتره يا ثروت؟ بدون شعور هيچکدوم!
    3: دلا معاش چنان کن که گر بلغزد پاي *** فرشته‌ات به دو دست دعا نگه دارد (حافظ)

    دیدگاه

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