
قیمت
300,000تومان 270,000تومان
- دسترسی همیشگی به فایل ها و آموزش ها
- دریافت آپدیت های رایگان
تاریخ بروزرسانی: | پاییز 1401 |
---|---|
حجم فایل: | 226 مگابایت |
فرمت فایل | ویدئویی |
لایسنس: | دارد |
آموزش وقفه پورت سریال USART در STM32
از مهمترین بخش های هر پروژه ای، تبادل اطلاعات میکروکنترلر با دنیای بیرون است. از دیباگ میکرو و چاپ کردن اطلاعات سمت ترمینال کامپیوتر گرفته، تا ارتباط با سایر ماژول هایی نظیر SIM900 و ESP8266 و … به منظور انتقال اطلاعات بر بستر اینترنت و ارسال و دریافت پیامک. همینطور اعمال تنظیمات کارخانه ای و تنظیم کردن ویژگی های دستگاه. ساخت یک سیستم CLI و … از برجسته ترین نیازهای هر پروژه ایست که توسط واحد سریال USART یا UART برآورده می شود. بنابراین پیاده سازی موثر این واحد از اهمیت بسیار زیادی برخوردار است. راه اندازی ارتباط سریال برای میکروکنترلر STM32 روش های مختلفی دارد. در این مطلب مزایا و معایب بررسی می شود و در ادامه آموزش وقفه پورت سریال USART در STM32 همینطور به روش DMA به نحوی کاربردی ارائه می گردد.
- آموزش وقفه پورت سریال UART در STM32 یکی از سرفصل های دوره آموزش STM32 – پروتکل های رایج است.
مشکل توابع HAL در پیکربندی واحد UART
سبک HAL یکی از پر استفاده ترین سبک های برنامه نویسی برای میکروکنترلر STM32 است که توسط شرکت سازنده ارائه شده است و طبیعتا دلیل آن وجود نرم افزار stm32cubeMx است. از سمت برنامه نویسان امبدد فعال در عرصه ی امبدد سیستم ها بسیار شنیده شده است که استفاده از توابع USART ارائه شده در سبک HAL بعضا آن ها را با مشکلات گوناگونی در مرحله ی پیاده سازی اولیه مواجه کرده است. حتی در ادامه در زمان توسعه پروژه، محدودیت ها، مشکلات و هنگ کردن های متعددی گزارش شده است. در کل در استفاده های واقعی میزان رضایت پایینی را به همراه داشته است.
شما هم تجربه مشابه داشته اید؟
حل مشکل واحد UART برای STM32
در زمان استفاده از واحد سریال UART، دو نیاز عمده وجود دارد.
- دریافت اطلاعات توسط میکروکنترلر بدون اتلاف وقت CPU در سریعترین زمان ممکن، بدون محدودیت دریافت، بدون از دست رفتن اطلاعات.
- ارسال اطلاعات از میکروکنترلر به دنیای بیرون، بدون محدودیت خاصی برای ارسال، بدون از دست رفتن اطلاعات.
دریافت اطلاعات از واحد سریال USART
معمولا دغدغه ی اصلی در پیاده سازی واحد سریال USART ، بخش دریافت اطلاعات از دنیای بیرون است. به منظور دریافت اطلاعات سه روش عمده وجود دارد …
- روش سرشماری یا polling
- روش وقفه ای یا Interrupt
- روش DMA
از این بین …
- روش polling صرافا جنبه ی آموزش دارد، منتها در صنعت هیچ کاربردی ندارد.
- روش وقفه ای یا Interrupt محبوبترین روش دریافت اطلاعات است که در بیش از 80 درصد پروژه های صنعتی از این روش استفاده می شود.
- روش DMA موثزترین و سریعترین روش دریافت اطلاعات است که برای کار با اطلاعات حجیم و پر سرعت موضوعیت بیشتری پیدا می کند و نسبت به روش وقفه ای قدری پیچیده تر است و نیاز به ملاحظاتی دارد. از این روش برای پروژه های خاص تر بسته به نیازمندی پروژه استفاده می شود.
نتیجه : با این حال در برخی موارد بسته به نیاز پروژه، روش وقفه ای Interrupt همچنان از روش DMA می تواند ارجع تر باشد، زمانی که به کنترل بیشتری روی داده های ورودی نیاز است و داده های دریافتی طول ثابتی ندارند، یا الگوی ارسال آن ها متفاوت است و ثابت نیست. در صورتی که حجم اطلاعات دریافتی زیاد باشد قطعا روش DMA درگیری CPU رو کاهش داده و نتیجه بهینه تر خواهد بود.
ارسال اطلاعات با رابط سریال UART
ارسال اطلاعات توسط رابط UART به دنیای بیرون نسبت به دریافت اطلاعات دغدغه و چالش های کمتری دارد و به بیان کلی تر ساده تر است. این بخش نیز به سه روش قابل پیاده سازی است.
- روش عادی
- روش وقفه ای یا Interrupt
- روش DMA
از این بین …
- در نیمی از پروژه ها از روش عادی برای ارسال اطلاعات استفاده می شود، چرا که معمولا تا ارسال اطلاعات به پایان نرسد قصد انجام کار دیگری نداریم!
- شاید حدود 25 درصد پروژه ها از روش وقفه ای برای ارسال استفاده می کنند، در این وضعیت باید به پایان یافتن عملیات انتقال توجه کرد، که به صورت یک فلگ نمایان می شود. لذا برنامه نویسی آن نسبت به حالت قبل ملاحظات بیشتری دارد.
- برخی از پروژه ها نیز از روش DMA برای ارسال اطلاعات استفاده می کنند، خصوصا پروژه هایی که داده های حجیم انتقال می دهند.
نتیجه : روش عادی ساده ترین راه انتقال اطلاعات توسط واحد UART به دنیای بیرون است و شاید پر استفاده ترین روش در بین طیف های مختلف پروژه ها. البته که با روش وقفه ای و یا DMA امکان بهینه سازی بیشتر در پردازش میکروکنترلر وجود دارد خصوصا در سبک های جدید برنامه نویسی.
محتویات آموزش
این محصول شامل سه بخش عمده می شود.
بخش اول : راه اندازی واحد UART با توابع HAL و بررسی روش مرسوم
- آموزش راه اندازی واحد UART با توابع HAL به روش وقفه ای برای STM32
- برای ارسال از توابع عادی استفاده می شود + نکات و شرایط استفاده.
- برای دریافت از روش وقفه ای استفاده می شود + نکات و شرایط استفاده، چه انتظاری باید و نباید داشت!
- مشکل تبادل اطلاعات فقط با طول ثابت!
بخش دوم : راه اندازی واحد UART با توابع HAL روش وقفه ای و طول داده منعطف
- برای ارسال از روش interrupt استفاده می شود + نکات و شرایط استفاده
- برای دریافت از روش interrupt استفاده می شود + نکات و شرایط استفاده
- تبادل اطلاعات با انعطاف پذیری بیشتر در طول داده!
- بررسی مزایای این روش نسبت به روش قبلی.
بخش سوم : راه اندازی واحد UART با توابع HAL روش DMA و طول داده منعطف
- برای ارسال از روش DMA استفاده می شود + نکات و شرایط استفاده
- برای دریافت از روش DMA استفاده می شود + نکات و شرایط استفاده
- تبادل اطلاعات با انعطاف پذیری بیشتر در طول داده!
- بررسی مزایای روش DMA نسبت به روش interrupt.
چطور آموزش را تهیه کنم؟
روی دکمه ی ” افزودن به سبد خرید “ در بالا سمت راست صفحه کلیک کنید. راهنمای دریافت دوره بعد از پرداخت و نهایی کردن سفارش، برای شما نشان داده می شود و یک نسخه هم برای شما ایمیل می شود. همینطور در بخش سفارش ها از حساب کاربری شما برای همیشه در دسترس است.
محصولات مشابه
قیمت
300,000تومان 270,000تومان
- دسترسی همیشگی به فایل ها و آموزش ها
- دریافت آپدیت های رایگان
تاریخ بروزرسانی: | پاییز 1401 |
---|---|
حجم فایل: | 226 مگابایت |
فرمت فایل | ویدئویی |
لایسنس: | دارد |
قوانین ثبت دیدگاه