ورود به حساب ثبت نام جدید فراموشی کلمه عبور
برای ورود به حساب کاربری خود، نام کاربری و کلمه عبورتان را در زیر وارد کرده و روی «ورود به سایت» کلیک کنید.





اگر فرم ورود برای شما نمایش داده نمیشود، اینجا را کلیک کنید.









اگر فرم ثبت نام برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.









اگر فرم بازیابی کلمه عبور برای شما نمایش داده نمی‌شود، اینجا را کلیک کنید.





کاربران برچسب زده شده

نمایش نتایج: از 1 به 7 از 7
  1. #1
    2011/03/02
    342
    2

    دریافت یک رشته از UART

    سلام دوستان وقت بخیر...

    من می خوام یک رشته رو از طریق UART دریافت کنم. نکته اینجاست که طول رشته ثابت نیست و هر بار عوض میشه.
    می خواستم از تابع gets(str, len) استفاده کنم ولی جواب نمیده. توی هلپ نوشته این تابع رشته ای به ماکزیمم طول len رو دریافت می کنه و در str قرار میده آخرش هم LF میذاره درسته؟ :eek: حالا اگه قبل اینکه ماکزیمم طول به len برسه کاراکتر LF توی رشته باشه دریافت تموم میشه، درسته؟

    من کارکرد این تابع رو درست فهمیدم؟ راه حل دیگه ای ست که یه رشته رو دریافت کرد، سرعت هم پایین نیاد؟

    با سپاس
    همیشه بزرگوار تر از آن باشید که برنجید
    و نجیب تر از آن باشید که برنجانید!
  2. #2
    2013/08/28
    539
    12

    پاسخ : دريافت يک رشته از UART

    با سلام
    دوست عزيز براي کار با usart و دريافت رشته بايد از وقفه دريافت استفاده کرد، اينطوري هم ديگه نگران طول نيستيم و از اون مهم تر وقت cpu صرف منتظر واستادن براي اومدن کل جمله يا فلان کاراکتر خاص نميشه و ميتونه کار هاي ديگشو انجام بده.
    The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.
  3. #3
    2011/03/02
    342
    2

    پاسخ : دريافت يک رشته از UART

    نقل قول نوشته اصلی توسط hessam2013
    با سلام
    دوست عزيز براي کار با usart و دريافت رشته بايد از وقفه دريافت استفاده کرد، اينطوري هم ديگه نگران طول نيستيم و از اون مهم تر وقت cpu صرف منتظر واستادن براي اومدن کل جمله يا فلان کاراکتر خاص نميشه و ميتونه کار هاي ديگشو انجام بده.
    ممنون دوست عزیز از راهنمایی شما،

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

    با سپاس
    همیشه بزرگوار تر از آن باشید که برنجید
    و نجیب تر از آن باشید که برنجانید!
  4. #4
    2013/08/28
    539
    12

    پاسخ : دريافت يک رشته از UART

    بله، ببينيد اصول کار با usart بر اساس وقفه هست، به نظرم اگه با وقفه تا حالا کار نکردين، نترسين و يک بار براي هميشه اين کار رو انجام بدين، چرا؟
    1-خب در اين جا شما ميگين که کار اصلي ميکرو همينه،درست، اما تعيين روال برنامه و کد زدن با استفاده از وقفه باعث ميشه برنامه سازماندهي بهتري داشته باشه، و راحت تر بشه کار رو انجام داد و مشکلات احتمالي رو رفع کرد،
    2-فرض کنيد دفعات بعدي مي خواين يه پروژه سنگين بزنين، چيزي که پيچيده است، بدون وقفه عملا کد کار با سريال نمي تونه از يه حدي بزرگتر بشه، چون انقدر درهم برهم ميشه که بعد يه مدت برنامه نويس نمي فهمه چيکار کرده.
    پس يه لطفي در حق خودتون بکنين، نميدونم چرا اما ديدم تو همين فروم از کار با وقفه مي ترسن، اصلا سخت نيست و اصلا نترسين، وقفه دريافت usart رو فعال کنين، و الگوريتم مورد نظرتون رو طبق اون پياده کنين، و از ساختار و قدرتي که به برنامتون ميده استفاده ببرين،
    The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.
  5. #5
    2011/03/02
    342
    2

    پاسخ : دريافت يک رشته از UART

    نقل قول نوشته اصلی توسط hessam2013
    بله، ببينيد اصول کار با usart بر اساس وقفه هست، به نظرم اگه با وقفه تا حالا کار نکردين، نترسين و يک بار براي هميشه اين کار رو انجام بدين، چرا؟
    1-خب در اين جا شما ميگين که کار اصلي ميکرو همينه،درست، اما تعيين روال برنامه و کد زدن با استفاده از وقفه باعث ميشه برنامه سازماندهي بهتري داشته باشه، و راحت تر بشه کار رو انجام داد و مشکلات احتمالي رو رفع کرد،
    2-فرض کنيد دفعات بعدي مي خواين يه پروژه سنگين بزنين، چيزي که پيچيده است، بدون وقفه عملا کد کار با سريال نمي تونه از يه حدي بزرگتر بشه، چون انقدر درهم برهم ميشه که بعد يه مدت برنامه نويس نمي فهمه چيکار کرده.
    پس يه لطفي در حق خودتون بکنين، نميدونم چرا اما ديدم تو همين فروم از کار با وقفه مي ترسن، اصلا سخت نيست و اصلا نترسين، وقفه دريافت usart رو فعال کنين، و الگوريتم مورد نظرتون رو طبق اون پياده کنين، و از ساختار و قدرتي که به برنامتون ميده استفاده ببرين،
    خیلی ممنون از راهنمایی تون،
    با وقفه UART کار کردم، تو همین پروژه از دو UART استفاده می کنم و برای یکی از اونها وقفه فعاله. تنها مشکل من اینه که رشتهخ ای که دریافت می کنم طول متغیر داره هر دفعه. از الان میرم که برای این قسمت هم وقفه رو فعال کنم.. ولی احتمالا باید یه تدابیری بیندیشم که انتهای رشته رو تشخیص بدم... و یه جوری مشکل طول متغیر رو حل کنم.

    با سپاس
    همیشه بزرگوار تر از آن باشید که برنجید
    و نجیب تر از آن باشید که برنجانید!
  6. #6
    2013/08/28
    539
    12

    پاسخ : دريافت يک رشته از UART

    خواهش مي کنم، اگه ارسال هم دست خودتونه يه متغير به عنوان انتها بذارين، چيزي که تو رشته تکرار نشه مثلا @ يا همچين چيزي
    موفق باشين
    The healthy human mind doesn't wake up in the morning thinking this is his last day on earth.
  7. #7
    2016/12/11
    3
    0

    پاسخ : دریافت یک رشته از UART

    سلام یکی کار با وقفه USART را که کدویزارد درست می کنه توضیح بده اصلا نمی فهمم.
نمایش نتایج: از 1 به 7 از 7

موضوعات مشابه

  1. هنگ کردن میکرو پس از دریافت از UART
    توسط asadi_keyhan در انجمن NXP
    پاسخ: 4
    آخرين نوشته: 2016/03/02, 20:44
  2. استفاده از uart نرم افزاری برای ارسال و دریافت رشته عددی
    توسط msaeedi در انجمن میکروکنترلرهای AVR
    پاسخ: 2
    آخرين نوشته: 2015/06/20, 10:15
  3. دریافت چند داده پشت سرهم با uart
    توسط asadi11 در انجمن NXP
    پاسخ: 14
    آخرين نوشته: 2015/06/01, 23:14
  4. پاسخ: 1
    آخرين نوشته: 2014/06/07, 23:53
  5. خارج شدن از وقفه دریافت UART
    توسط soodi در انجمن NXP
    پاسخ: 11
    آخرين نوشته: 2014/03/09, 17:43

کلمات کلیدی این موضوع

علاقه مندي ها (Bookmarks)

علاقه مندي ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •