رابط سریال ( UART ) در STM8 | قسمت بیست و دوم آموزش STM8

blog
۱۳۹۷-۱۰-۰۹
4 دقیقه

سیسوگ در قسمت بیستم و یکم آموزش میکروکنترلر STM8  ارتباطات این میکروکنترلر با دنیای بیرون را به صورت اجمالی مورد بررسی قرار داد و قصد دارد در هر قسمت به یکی از رابط های ارتباطی بپردازد. در این از قسمت آموزش میکروکنترلر STM8  رابط سریال ( UART ) را بررسی می‌کند. با سیسوگ همراه باشید.

 

رابط سریال ( UART )

شاید ارتباط سریال یکی از روش های ارتباطی کلاسیک برای ارتباط بین کامپیوتر یا سایر دستگاه ها با میکروکنترلر باشد. تنها با استفاده از دو سیم، می‌توانیم یک ارتباط نقطه به نقطه دو طرفه را بدست آوریم. به دلیل سادگی و استفاده گسترده از آن، نقش مهمی در زمینه رابط ارتباطی دارد، به طوری که با مودم‌های GSM ، ماژول RF ، دستگاه‌های بلوتوث مانند RN-52 ، دستگاه‌های Wi-Fi مانند ESP8266 و غیره استفاده می‌شود. هم‌چنین استفاده گسترده‌ای در صنایع دارد. ارتباطات دیگر مانند RS-485، LIN و غیره به آن متکی هستند.

 

ارتباط سریال UART

 

اکثر STM8 ها حداقل دارای یک ماژول UART هستند و برخی از آن‌ها بیش از یک ماژول UART دارند. UART های مختلف دارای ویژگی های مختلفی هستند که در جدول زیر نشان داده شده است:

ویژگی های مختلف UART

برای کسب اطلاعات بیشتر در مورد UART، به لینک آن مراجعه نمایید.

UART های میکروکنترلر STM8 دارای ویژگی‌های بسیاری است که در این مقاله امکان توضیح تمام ویژگی‌ها وجود ندارد. در اینجا تنها ارتباط سریالی را بررسی می‌کنیم.  LIN و IRDA را در مقالات بعدی پوشش می‌دهیم.

 

اتصالات سخت افزاری:

اتصالات سخت افزاری UART

نمونه کد UART :

توضیحات:

کلاک داخلی و کلاک CPU روی  2 مگاهرتز تنظیم می شوند.

 

پین های  TX-RX به ترتیب خروجی و ورودی تعریف می‌شوند:

راه اندازی UART خیلی ساده است. به راحتی می‎توانید نرخ باند و بیت ونوع ارتباط (سنکرون و آسنکرون) و … را تنظیم کنید.

در کد اصلی، هر دو پرچم تکمیل ارسال و تکمیل دریافت را بررسی می‌کنیم. با استفاده از این پرچم‌ها متوجه می‌شویم داده جدیدی وارد شده است، هم‌چنین امکان ارسال داده جدید را متوجه می‌شویم.

در قسمت اول، دریافت داده‌های جدید بررسی می‌شود. به همین دلیل وضعیت “IF” بررسی می‌شود که آیا بافر RX خالی است یا نه. اگر خالی نیست،باید اطلاعات جدید دریافت شود. داده‌های جدید (در اینجا کاراکترها) دریافت شده و بر روی LCD نمایش داده می‌شوند. سپس با استفاده از بافر RX پرچم خالی را روشن می‌کنیم تا امکان پذیرش داده‌های جدید را فعال کنیم. سپس برخی از داده‌ها را از طریق UART به کامپیوتر میزبان ارسال می‌کنیم.

در قسمت دوم کد UART ، بررسی می کنیم آیا آخرین اطلاعات از  STM8 به کامپیوتر ارسال شده است. اطلاعات ارسال شده در LCD نمایش داده می‌شود.

لطفا توجه داشته باشید هر دو پرچم بسیار مهم هستند.

 

رابط سریال UART

 

در این قسمت به رابط سریال ( UART ) پرداختیم. در قسمت بیست و سوم آموزش میکروکنترلر STM8 به رابط کاربری سریال (SPI) می‌پردازیم. با سیسوگ همراه باشید.

منبع

مطالب مرتبط

 

 

اطلاعات
9
0
لینک و اشتراک
profile

electronic girl

متخصص الکترونیک

دوستدار الکترونیک

مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند. فروش در پالت
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد. جستجو در آیسی
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند. پرسش در سیسوگ فرم
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
خانواده سیسوگ

پالت | بازار خرید و فروش قطعات الکترونیک

قطعات اضافه و بدون استفاده همیشه یکی از سرباره‌‌های شرکتها و طراحان حوزه برق و الکترونیک بوده و هست. پالت سامانه‌ای است که بصورت تخصصی اجازه خرید و فروش قطعات مازاد الکترونیک را فراهم می‌کند.
family

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. وقتی شما در این سامانه، قطعه الکترونیکی را جستجو می‌کنید؛ آی سی به سرعت نتایج جستجوی شما در اکثر فروشگاه‌های آنلاین در حوزه قطعات الکترونیک را نمایش می‌دهد.
family

فروشگاه سیسوگ

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند.
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

دغدغه همیشگی فعالان تخصصی هر حوزه وجود بستری برای گفتگو و پرسش و پاسخ است. سیسوگ فروم یک انجمن آنلاین است که بصورت تخصصی امکان بحث، گفتگو و پرسش و پاسخ در حوزه الکترونیک را فراهم می‌کند.
family

دیدگاه ها

profile
Mohsen گفت :
۱۴۰۱-۱۰-۱۱ ۱۲:۴۶

سلام وقت بخیر
چرا به اطلاعاتی که قرار است ارسال شود 0x30 اضافه میکنید؟

profile
Zeus ‌ گفت :
۱۴۰۱-۱۱-۰۳ ۰۹:۴۱

سلام دوست عزیز در واقع 0x30 کد هگز کارکتر ‘0’ است 🙂
برای این که عدد دسیمال بین ۰ تا ۹ رو به کارکتر معادل اون در تیبل اسکی تبدیل کنیم میتونیم از این تریک استفاده کنیم
به جدول اسکی نگاه کنید متوجه منظورم می شوید.

profile
ali گفت :
۱۴۰۰-۰۹-۱۸ ۱۴:۵۹

سلام بسیار عالی ایا نیاز به کریستالهای مخصوص مانند 11059200 هرتز در این مدل میکرو نیست?

profile
Zeus گفت :
۱۴۰۰-۰۹-۲۰ ۱۲:۰۵

اگر باشه خوب دقت بالاتر خواهد رفت و اگر نباشه هم مشکلی نخواهید بود

profile
کرم الدین گفت :
۱۳۹۹-۰۷-۲۰ ۱۳:۰۶

سلام.اول از همه تشکر کنم بخاطر سایت خوبتون که اطلاعاتی که باید ساعت ها با ورق زدن کتاب های دانشگاهی پیدا کرد رو با یک سرچ ساده به صورت رایگان در اختیار مردم قرار میدید.دوم میخواستم ازتون درخواست کنم یک نوع آموزش ارتباط سریال توسط آردینو رو قرار بدید. البته منظورم یکم فراتر از مقدماتی مثلا خوندن پکیج دیتا ها با زبان هگزا دسیمال. معمولا این پکیج هارو با برنامه های زیادی میشه خوند و اطلاعاتشون رو بدست آورد اما مشکل ما توی خوندن این اطلاعات داخل محیط برنامه نویسی آردینو هست
دلیل این درخواستم بخاطر کنار گزاشتن کتابخانه ها توی آردینو و کار با دیتا شیت ماژول هاست که بنظرم بهتر و کاربردی تر و همینطورپردازش سریعتر نسبت به استفاده از کتابخانه است. ممنون

profile
کاظم گفت :
۱۳۹۹-۰۱-۳۰ ۱۲:۳۹

سلام
روی سیستم من stvd نصب نمیه و مجبورم با IAR کار کنم کتابخونه ها همه رو دارم ولی این Error هارو میده
Error[Li005]: no definition for “UART1_SendData8” [referenced from E:\stm tst\stm8s_1\Debug\Obj\main.o]
Error while running Linker
واین
Fatal Error[Pe035]: #error directive: “Please select first the target STM8S/A device used in your application (in stm8s.h file)” E:\stm tst\stm8_1_2\STM8S.h 75

راه حلی دارید؟

profile
زئوس Zeus گفت :
۱۳۹۹-۰۱-۳۰ ۱۳:۳۱

خطای دوم رو حل کنید احتمالا اولی حل میشه
داره میگه نوع میکروکنترلر رو انتخاب نکردید داخل فایل stm8s.h

profile
Amir گفت :
۱۳۹۷-۱۰-۰۹ ۲۳:۲۲

سلام
الان ساعت 11.20 شب هست و من از حدود ربع ساعت پیش شروع به خوندن این مطلب کردم …
خیلی خیلی عالی بود خیلی وقت بود که منتظر ارتباطات بودم …
وقفه ارتباط سریال خیلی مهم هست بنظر من … دیگه CPU الاف دریافت نمیمونه !!! ولی بازم خوبه …
منتظر ادامه آموزش ها هستم
بازم ممنونم از آموزش خوبتون

profile
electronic girl گفت :
۱۳۹۷-۱۰-۱۰ ۱۱:۵۳

سلام دوست عزیز
ممنون از پیام های دلگرم کننده شما
در چند قسمت آینده روی ارتباطات مختلف متمرکز هستیم و آنها را بررسی میکنیم.

become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer

نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله