دوستان سلام : این هفته میخوایم در ابتدا یکم در مورد CMSIS صحبت کنیم و در اخر یک پروژه ساده خواندن وضعیت یک کلید رو باهم راه میندازیم و تمام ( آموزش میکروکنترلر های arm سری stm32f10x جلسه 3 )
آموزش میکروکنترلر های arm سری stm32f10x جلسه 3
آموزش میکروکنترلر های arm سری stm32f10x جلسه 1
آموزش میکروکنترلر های arm سری stm32f10x جلسه 2
خب CMSIS مخفف Cortex Microcontroller Software Interface Standard این کتاب خانه در سال 2008 توسط کمپانی ARM برای استفاده از میکروهای سری cortex معرفی شد؛ در واقع این لایبراری برای تمامی میکرو کنترلر هایی که از هسته cortex استفاده میکنند یکی است و یک استاندارد برای تمامی میکرو کنترلر ها با هسته cortex میباشد و مثلا شما برای تغیر میکروتون از کمپانی st به nxp خیلی دچار مشکل نمیشید و تغیرات اندکی داره.
در cmsis تمام ریجستر ها به صورت تابع در اومدن که بشه خیلی راحت تر ازشون استفاده کرد و دیگه درگیر رجیسترها نشیم؛ دیگه اگه اطلاعات بیشتر خواستین سرچ کنید خیلی راحت بدستتون میاد.
حالا بریم سراغ پروژمون میخوایم وضعیت یک کلید رو بخونیم ایا یکه صفره چیه؟ خیلی اسونه همون پروژه قبلی رو باز کنید تا دوتا خط توش اضافه کنیم و تموم بشه؛ ابتدا کلاک اون پورتی رو که کلید بهش وصله رو روشن میکنیم(که قبلا گفتیم چطور) بنا بر تجربیاتم همین کارو بکنیم کافیه و نمیخواد دیگه براش استراکچر پر کنیم؛ سپس از تب functions توابع gpio تابع :
1 |
GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) |
رو انتخاب میکنیم و پرش میکنیم؛ به شکل زیر :
1 |
if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_8)==0) |
که از اسمش مشخصه چیکار میکنه میگه ورودی رو بخون اگه صفر بود فلان پین رو یک کن همین.
کد کلی پروژه :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
#include "stm32f10x.h" GPIO_InitTypeDef GPIO_LEDS; int main () { RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE); GPIO_LEDS.GPIO_Mode=GPIO_Mode_Out_PP; GPIO_LEDS.GPIO_Speed=GPIO_Speed_10MHz; GPIO_LEDS.GPIO_Pin=GPIO_Pin_2; GPIO_Init(GPIOC,&GPIO_LEDS); while(1) { if(GPIO_ReadInputDataBit(GPIOC,GPIO_Pin_8)==0) { GPIO_WriteBit(GPIOC,GPIO_Pin_2,1); } else { GPIO_WriteBit(GPIOC,GPIO_Pin_2,0); } } } |
دوستان اگه فیلم پروژه رو نمیذارم واسه اینکه برد اموزشیم سوخته درست بشه حتما.
دانلود فایل پرژه
مهمان
سلام خسته نباشید .
ادامه بدید لطفا خیلی خوبه ممنون
مهمان
سلام، آموزش خیلی خوبیه

مهمان
(:heart

نویسنده این مطلب
ممنون

مهمان
مثل همیشه عالیییییی

ممنون
خداقوت
منتظر ادامه آموزش ها هستیم…
نویسنده این مطلب