در این آموزش میخواهیم وضعیت خواندن پایه در stm32 را انجام دهیم

ساخت پروژه در cubemx

برای این کار در نرم افزار STM32CubeMX وضعیت پایه ای را که میخواهیم بخوانیم را در حالت ورودی یا همان Input قرار میدهیم مانند تصویر پایین :

خواندن پایه در stm32

 

حالا یک خروجی برای نرم افزار keil میگیریم ( طبق جلسه ساخت پروژه در stm32cubemx )

 

دستور if چیست؟

در لغت if به معنای “اگر” هست ، در برنامه نویسی هم همین معنی را دارد

برای مثال اگر فلان پایه وضعیتش 0 بود فلان کار را انجام بده ، به همین راحتی

روش نوشتن دستور if به این شکل هست دستور if را مینویسیم و پارامتر را درون پرانتز مینویسیم و اگر شرط درست بود کد های بین { و } اجرا میشوند  مانند کد پایین :


    
    

شرط را باید چطور بنویسیم؟

  • برای اینکه بفهمید یک مقدار با یک مقدار دیگر برابر است باید از == (برابری) استفاده کنید
  • برای اینکه بفهمید یک مقدار از مقدار دیگر کوچیکتر یا بزرگتر هست باید از علامت های < و > استفاده کنید

چند نمونه شرط

در شرط زیر بررسی میکنیم که اگر مقدار پایه GPIOA 0 برابر بود با 0 دستورات را اجرا کند


    
    

در شرط پایین بررسی میشود که اگر متغیر hamyar بزرگتر از 10 بود دستورات را اجرا کند


    
    

مثال پروژه محور

در این مثال میخواهیم در صورتی که یک دکمه فشار داده شد یک ال ای دی روشن شود و پس از 1 ثانیه خاموش شود

شماتیک مدار :

کد های دستور while

در کد های پایین نوشته شده که اگر مقدار پایه c14 برابر با 1 بود ، پایه c13 را روشن کند


    
    

 

تمرین برای شما

پروژه ای بنویسید که در آن یک سون سگمنت استفاده شده باشد و با زدن دکمه و خواندن پایه در STM32 یک عدد به اعداد سون سگمنت شروع شود و وقتی عدد بیشتر از 9 شد عدد به 0 کاهش پیدا کند.