نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
أَللّهُمَّ ارْزُقْنی شَفاعَةَ الْحُسَیْنِ یَومَ الْوُرُودِ
عباس پورشبانی

آموزش میکروکنترلر های arm سری stm32f10x جلسه 4

430

دوستان سلام hi نماز و روزه هاتون قبول give_rose : امروز میخوایم با هم پروتکل ارتباطی سریال میکروکنترلر های arm سری stm32f10x رو  راه بندازیم و تمام؛ فک کنم اینقدر در مورد سریال و نحوه کارش و مشخصاتش تو اینترنت مطلب  هست که لازم نیست من چیزی بگم در موردش؛ حالا تنبلی و ماه رمضون روزه داریم که خودش به کنار crazy . اگه سوالی ازش داشتین بپرسین و من یک راست میرم سراغ کد پروژه و تمام laugh ( آموزش میکروکنترلر های arm سری stm32f10x جلسه 4 )
آموزش میکروکنترلر های arm سری stm32f10x جلسه 4

آموزش میکروکنترلر های arm سری stm32f10x جلسه 4


آموزش میکروکنترلر های arm سری stm32f10x جلسه 3
آموزش میکروکنترلر های arm سری stm32f10x جلسه 2
آموزش میکروکنترلر های arm سری stm32f10x جلسه 1

در گام اول بایستی کتاب خونه های rcc ,gpio ,usart رو به پروژه اضافه کنیم که در جلسه اول گفتیم چطور ( روی پوشه دابل کلیک و از پنجره باز شده مسیر CMSIS_Liberary\STM32F10x_StdPeriph_Driver\src v رو میریم و فایل های h. رو هم مثل قبل اضافه میکنیم ) چرا این سه تا چون ما میخوایم از پروتکل سریال یا usart استفاده کنیم پس باید کتاب خونشو ادد کنیم و همچنین باید کلاکشو فعال کنیم که rcc باید باشه همچنین پایه های میکرو رو برای سریال تنظیم کنیم که باید gpio  رو اضافه کنیم؛ کلا rcc و gpio توی همه ی پروژه ها هستن.
خب ابتدا ما باید توی پروژمون مثل قبل ابتدا کلاکمون رو فعال کنیم؛ خب ما میخوایم usart2  میکرومون رو فعال کنیم پس باید کلاک usart2 رو روشن کنیم همچنین پایه های RX و TX ریمپ شده usart2 میفته روی پاییه های پورت D پس باید کلاک پورت D رو هم فعال کنیم و همچنین کلاک RCC_APB2Periph_AFIO چون میخوایم از ریمپ استفاده کنیم؛ حالا ریمپ چیه؟
ریمپ : در واقع یک قابلیتی هست که میتونید پایه های یک پروتکل رو تغیر بدین مثلا همین USART2 پایه های RX ,TX  در حالت نرمال برای میکروی من روی پایه PA1 و PA2 هست که با ریمپ میفتن روی پایه های PD5 و PD6 که در واقع این قابلیت توی پروژه های سنگین خیلی کمک میکنه؛ البته برای واحد های انالوگ مثل ADC  نمیشه اینکارو کرد؛ این تغیر پایه هارو میتونید از دیتا شیت یا کیوب متوجه بشید؛ اگه متوجه ریمپ نشدین بگین بیشتر توضیح بدم. good
پس ما سه تا کلاک رو مثل زیر داخل تابع مین فعال میکنیم :

خب کلاک های مورد نیازمون فعال شد؛ همچنین باید عمل ریمپ رو انجام بدیم مثل زیر :

تابع ریمپ هم داخل توابع  GPIO هست؛ حالا میریم سراغ تنظم کردن پایه های میکرو طبق اموزش قبل یک استراکچر GPIO بسازید خارج از تابع مین :

که من اسمشو گذاشتم USART؛ حالا یک بار استراکچرمون رو برای RX و یکبار برای TX پر میکنیم مثل زیر :

که مود پاییه TX همیشه GPIO_Mode_AF_PP و مود پایه RX  رو همیشه GPIO_Mode_IN_FLOATING انتخاب میکنیم، طبق گفته خود ST؛ حالا یک استراکچر برای USART ایجاد میکنیم :

که اسمشو گذاشتم USART_usart_test؛ حالا مثل همون  GPIO  استراکچر رو مقدار دهی میکنیم، به صورت زیر :

شما اگه نشان گر موستون رو وسط استراکچرتون قرار بدین و کلید F12 رو بزنید یک صفحه وارد میشه که توی اون همه این تنظیمات رو نوشته؛ حالا وقتشه استراکچرمون رو بدیم به USART_Init و بعد فعالش کنیم و تمام :

در آخر هم :

این دستورم مثل استارت ماشین میمونه و USAART رو فعال میکنه؛ تا همیجا باشه کامون تا هفته بعد نحوه ارسال و دریافت دیتا رو با هم برسی کنیم.

کد پروژه :

توی این ماه عزیز دعامون کنید. bye

تعداد مطالب : 8 تا
پيامبر خدا صلى الله عليه و آله : هر علمى در روز قيامت براى صاحب خود وبال است، مگر كسى كه به علمش عمل كند.
ارسال دیدگاه
2
نظرات این مطلب بسته شده است.
  1. امیر

    مهمان

    امیر

    سلام hi
    نماز و روزه های شما هم قبول باشه …
    با این آموزشی که گذاشتین دیگه ثواب امروزتون کامل کامل شد … مرسی … good
    راجب ریمپ که فرمودین که یه آدرس بدبن دبگه خودمون میریم سراغش … کجا پیداش کنیم ؟؟ منظورم مشخصاتشه …
    وقفه سریال هم اگه بگین عالیه چون خیلی کاربرد داره و استفاده میشه
    بازم ممنون از زحمات شما give_rose heart
    خداقوت hi

    مشاهده پاسخ ها (1)
    • عباس پورشبانی

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

      عباس پورشبانی

      سلام . مرسی ممنون…راجب ریمپ که فرمودین منظورتون اینکه میخواین بدونین ریمپ هر پاییه کجا میفته؟؟یا کلا در مورد ریمپ بیشتر اطلاعات بدست بیارین؟همچنین در مورد نحوه ارسال و دریافت دیتا در سریال به همراه وقفه هاشون رو جلسه بعد میگم … اگه از ریمپ هم سوالی هست بگین بذارم