شروع کار با واحد GPIO در میکرو کنترلر WCH - قسمت چهارم آموزش CH32

blog
۱۴۰۳-۱۰-۰۴
3 دقیقه

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

اگر با ساختار و کارکرد GPIO آشنایی ندارید پیشنهاد می‌کنم این دو آموزش در مورد GPIOها در STM32 رو ببینید.

آشنایی با ساختار I/O میکروکنترلر

ساختار I/O میکروکنترلر

ساختار I/O میکروکنترلر

اکثر موارد در عکس مشهود هست؛ ولی اگر بخواهیم ی توضیحی در مورد عکس بدیم به این صورت است که IOهای این میکرو دارای دیود محافظ، اشمیت تریگر  و حالات برنامه‌پذیری پایه به شکل‌های زیر هستند.

  • Floating input
  • Pull-up input
  • Pull-down input
  • Analog input
  • Open-drain output
  • Push-pull output
  • Input and output of alternate function

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

برای فعال‌کردن هر پریفرالی از میکرو لازم است که به آن پریفرال کلاک برسد ما با استفاده از دستوارت زیر کلاک رو به پریفرال‌های مختلف می‌رسانیم.

برای پیداکردن اینکه هر پریفرال GPIO به کدام شاخه کلاک متصل شده‌اند می‌تواند از دیتاشیت کمک بگیرید.

همان‌طور که در عکس می‌بینید هر سه GPIO من در APB2 قرار دارند.

بلوک دیاگرام سیستم

برای کانفیگ کردن GPIOها باید از استراکت GPIO_InitTypeDef استفاده بکنید. (باید به این نکته توجه بکنید که همه بخش‌های میکرو توسط رجیسترها کنترل می‌شود پس “باید” در اینجا به‌منظور اینکه شما قادر نیستید به رجیستری برنامه بنویسید نیست.)

سپس به آن اسمی دلخواه نسبت دهید تا بتواند از محتویات درون استراکت استفاده نمایید.

به این صورت:

ازاین‌پس شما با تایپ‌کردن اسم دلخواه خودتان می‌تواند به محتویات استراکت دسترسی داشته باشید که برای این استراکت به‌خصوص سه عدد است:

پس از تنظیم مقادیر باید آنها را بر روی پریفرالGPIO  اعمال کنیم که از تابع زیر کمک می‌گیریم.

به‌جای GPIOX پورتی که می‌خواهیم تغییرات در آن اعمال شود را قرار می‌دهیم. برای مثال GPIOA

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

شروع کار با واحد GPIO در میکرو کنترلر WCH - قسمت چهارم آموزش CH32حالا من می‌خواهم پایه 0 از GPIOA را هر یک ثانیه یک بار روشن و خاموش کنم.

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

به این صورت ما توانستیم یک پایه رو خاموش و روشن کنیم.

برای خواندن از GPIO هم از تابع زیر کمک می‌گیریم.

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

امیدوارم که آموزش براتون مفید بوده باشه، به امید دیدار شما عزیزان تا آموزش بعدی.

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

عرفان رفیعی

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

erixson.elc@gmail.com

مقالات بیشتر
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

دیدگاه ها

become a writer

نویسنده شو !

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

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

نویسنده شو !

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

ارسال مقاله