در برنامه زیر ما یک LED را که به پین شماره 0 از پورتB میکروکنترلر stm32f103c8t6 است را بافاصله زمانی 1 ثانیه خاموش و روشن می کنیم :
تذکر: نحوه ساخت پروژه با نرم افزار kel 5 و توابع cmsis را میتوانید از لینک زیر مشاهده کنید :
https://www.aparat.com/v/tO29e
برنامه پروژه :
#include "stm32f10x.h" stm32 از میکروکنترلر های F1 دستور معرفی خانواده سری
void delay(void); delay دستور معرفی تابع
void main() تابع اصلی برنامه
{
GPIO_InitTypeDef GPIO_Struct; ها GPIO ساخت یک استراکچر برای
RCC_APB2PeriphclockCmd(RCC_APB2Periph_GPIOB,ENABLE); B فعال کردن کلاک پورت
GPIOتنظیمات بخش
GPIO_Struct.GPIO_Mode=GPIO_Mode_Out_pp; خروجی کردن پین
GPIO_Struct.GPIO_pin=1<<0; انتخاب پین یا پین های مورد نظر
GPIO_Struct.GPIO_Speed=GPIO_Speed_50Hz ; انتخاب سرعت پین یا پین های انتخاب شده
GPIO_Init(GPIOB,&GPIO_Struct); B فعال کردن تنظیمات فوق برای پورت
while(1) حلقه بی نهایت تکرار برنامه
{
GPIO_SetBits(GPIOB,1<<0); B دستور یک کردن پین0 از پورت
delay(); اجرای تابع تاخیر
GPIO_ResetBits(GPIOB,1<<0); B دستور صفر کردن پین0 از پورت
delay(); اجرای تابع تاخیر
}
}
void delay(void) تابع تاخیر
{
int i,j;
for(i=1;i<1000;i++)
for(j=1;j<1000;j++);
}
,gpio ,struct ,delay ,دستور ,پروژه , ,gpio mode ,struct gpio ,دستور معرفی ,تابع اصلی
درباره این سایت