نمایش/عدم نمایش سایدبار
رفتن به بالای صفحه
آزادی حجاز از دست نااهلان
Avatar

آموزش آرم stm32f103 جلسه ۵ کانفیگ اولیه تایمر

خب با تاخیری طولانی بریم سراغ آموزش آرم stm32f103 جلسه ۵ کانفیگ اولیه تایمر ؛ اولا از همه دنبال کننده ها عذر خواهی میکنم چون بدلیل کمبود وقت نتونستم جلسه ۵ رو طبق برنامه جلو ببرم.
آموزش آرم stm32f103 جلسه ۵ کانفیگ اولیه تایمر

آموزش آرم stm32f103 جلسه ۵ کانفیگ اولیه تایمر


خب میریم سراغ کانفیگ یک سری تایمری که رو این سری از میکروکنترلر ها هستش به اسم SysTick این تایمر توسط خود ارم ارایه شده و از تایمر سایر قسمت های میکرو کنترلر جدا هست و کاربردش دقیقا اینجاست که برای تنظیم زمان ها توی سیستم عامل ازش استفاده میشه
حالا ما ی جور دیگه هم ازش استفاده میکنیم smile
این تایمر هیچ ایشنال خاصی لازم نداره فقط باید یک فرکانس کاری رو برای اون تعریف کنیم و وقفه اون رو پیکر بندی کنیم به همین سادگی راه اندازی میشه
برای تنظیم کلاک تایمر یک تابعی داریم توی spl به این اسم :

این تابع میاد یک ورودی میگیره و اون رو به عنوان کلاک روی تایمر ست میکنه حالا من باید این رو کانفیگ کنم و به ورودی این تابع عدد بدم؛ برای زمان ۱ میلی ثانیه ( پریود ۱ میلی ثانیه ( اینجوری مینویسم که :

خب حالا باید یک وقفه برای این تایمر در نظر بگیریم که تابع وقفه این تایمر هم اماده هست فقط کافیه کپی و پیست کنیم؛ اینم تابع وقفه این تایمر :

خب به همین سادگی این تایمر راه اندازی شد حالا این تایمر هر ۱ میلی ثانیه تابع  SysTick_Handler رو اجرا میکنه smile
اینم دانلود کل پروژه و کارایی که تا اینجای اموزش انجام دادیم.

خب انشالله سری بعد اموزش میریم سراغ ساختن دستورات تاخیری دقیق با همین تایمر یعنی توابع delay که جلسات قبل نوشتیم زمان دقیقی رو ارایه نمیکردن و همش تقریبی بود رو دستکاری کنیم و به کمک این تایمر دیلای های دقیق رو بسازیم.
 
منو هم تو نماز هاتون دعا کنید  smile
با نظراتتون منو کمک کنید ( بتونم فیدبک عملی بگیرم از اموزش )
متشکرم

گروه پرسش و پاسخ الکترونیکی در سروش
تعداد مطالب : 20 تا
Avatar به شما توصیه میکنم سربازی نرید / با این قیمت دلار نمیشه الکترونیک کار کرد / برای مهاجرت به USA با لاتاری سال 2020 برنامه هایی دارم افرادی که در این ضمینه با من موافق هستن (تحقیقات کامل خودتون رو از اینترنت انجام بدید و سوالت رو از من نپرسید) برای ایجاد کمپین و مهاجرت دسته جمعی مشخصات ارتباطی خودتون برای من ایمیل کنید zamanimahdi@icloud.com در سابجکت ایمیل حتما بنویسید "لاتاری" به امید موفقیت :)
ارسال دیدگاه
11

1) نظرات غیر فارسی به صورت خودکار حذف میشوند ( حداقل 5 حرف فارسی وارد کنید ).

2) به موارد درخواست پروژه/کد آماده و سوالاتی که بلد نباشم پاسخ داده نمیشه.

3) برای گزاشتن کدهاتون از این سایت استفاده کنید ( طبیعتا لینک کدتون رو باید برای من بفرستید! ) : debian

4) پسورد فایل های سایت : www.dmf313.ir

  1. Avatar

    مهمان

    sami

    ببخشید من با تایمر systick یه تابع تاخیر delay ساختم که تو برنامه اصلی ازش استفاده کردم. این تابع تاخیر رزوشن های ۱میکرو ثانیه، ۱ میلی ثانیه و ۱ ثانیه رو داره.
    حالا مشکلم اینه که واسه ساختن یک ثانیه با تایمر systick وقتی موقع کانفیگ کردن با دستور SysTick_Config عدد ۷۲۰۰۰۰۰۰ رو بهش میدم کار نمیکنه. ولی برای بقیه موردا میلی ثانیه و میکروثانیه کار میکنه. میخواستم دلیلشو بدونم.
    ممنون میشم راهنماییم کنید

    • Avatar

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

      مهدی زمانی

      چون اون مقدار مقدار ماکزیمم تایمر بیشتره برای اینکار شما میتونید تایمر روی ۱ میلی ثانیه ایببندید و بعدا توی وقفه تایمر با مقایسه اضافه کردن به یک متغیر و مقایسه اون متغیر با مقداری که لازم دارید در قالب یک شرط هر مضربی از میلی ثانیه رو که نیاز دارید برای خودتون به صورت نرم فازاری بسازید

  2. Avatar

    مهمان

    mohamad

    سلام
    الان از systick کجا استفاده کنم؟داخل main.c برای تاخیر بنویسم
    systick(1000);
    الان این تاخیر یه ثانیست؟

  3. Avatar

    مهمان

    بهزاد

    ضمن تشکر چندین باره ، مطلبی وجود داره که میخواستم بگم و نظرتونو بدونم. قبلش هم اینو بگم که من در arm صفر صفر صفر هستم. میخوام بدونم وقتی کامپایلر های iar و keil وجود داره چرا باید با این کامپایلر arm رو یاد بگیریم؟ فکر میکنم این سوال اساسی هست . قصدم از این سوال ایرادگیری نیست ، دنبال دلیلش هستم میدونید چرا؟ فرض کنید شما بعد از تلاش زیاد تونستید به این کامپایلر و توابعش مسلط بشید . خب اگر بدلیل گسترده نبودن و عمومی نبودن این کامپایلر بعدا” این سوال پیش بیاد که خب چرا از اول چیز عمومی تری( مثلا” keil ) یاد نگرفتم ؟ چرا ؟ چون بیشتر برنامه ها و فروم ها در مورد این کامپایلر صحبت میکنن. آدم های باتجربه بیشتری هم وجود داره که میتونی ازشون کم بگیری و یا حتی به دیگران یاد بدی.
    باز هم ازت تشکر میکنم بخاطر وقتی که برای آموزش میگذاری. من برای نوشتن همین چند خط که تازه سوالمم هست به خودم فشار اوردم !! اونوقت شما وقت میذاری با این همه دردسر مطلب مینویسی . کسی درک نکنه من یکی میدونم چقدر شما زحمت میکشی . مرسی

    • مهدی دمرچیلو

      مدیر سایت

      مهدی دمرچیلو

      سلام.والا کامپایلری(نرم افزاری) به نام آرم من نشنیدم
      کیل و iar رو شنیدم
      من خودم کیل کار میکنم.و از توابع اماده کیل استفاده نمیکنم و با رجیستر ها کار میکنم.لذا وقتی بخوام برم سمت iar زیاد اضیت نمیشم چون فقط باید نام رجیسترها رو تغیر بدم و کار خاصی انجام نمیدم.
      لذا چون ما با رجیسترها کار میکنیم تغیر دادن کامپایلر برامون زیاد سخت نیست

      • Avatar

        مهمان

        بهزاد

        منظور من از اون جمله فقط با قرار ندادن یک “،” تغییر کرد. درستش اینه: ” چرا باید با این کامپایلر ( embitz ) ، arm رو یاد بگیریم؟ ”
        آقا مهدی عزیز من الان یه کم سرچ کردم و فرق ادیتور و کامپایلر رو کمی متوجه شدم( ما که عرض کردیم صفریم!! ) من تا الان با کدویژن یه کارایی میکردم راستش نمیدونم ادیتورش کدوم بود !!
        سوال: آیا keil و IAR هم ادیتور جداگانه ای دارن؟
        میشه یه اطلاعات کلی در مورد این موضوعات مقدماتی و ابتدایی در اختیار ما بذاری؟ تو سایتا چیز زیادی ندیدم ولی تا دلتون بخواد مطلب کپی شده از همدیگه هست!

    • Avatar

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

      مهدی زمانی

      در بی نظیر بودن iar شکی نیست اما وقتی یکم باهاش کار کنید متوجه میشید محیطی مثل نوت پد ویندوز داره
      برای کیل هم کرک شده هستش
      به صورت کلی به نظر بنده embitz چنتا ویژگی بزرگ داره یکی کم حجمه دوم اینکه رایگانه و سوم اینکه gcc هست ولی در کل این انتخاب ها سلیقه ای هست و هر کسی میتونه بر اساس سلیقش انتهخاب کنه و من اینو انتخاب کردم باهاش هم مشکلی نداشتم تا حالا که بخوام سراغ چیز دیگه برم

  4. Avatar

    مهمان

    ali

    سلام، دستت درد نکنه خیلی خوب بود،
    راستی الان امکان برنامه نویسی میکرو stm32 با نرم افزار simulink و matlab هم هست داخل خود سایتش برین و نرم افزار st mat رو سرچ کنین

  5. Avatar

    مهمان

    Amin

    سلام
    عالی بود دوست عزیز
    منتظر اموزش های بعدی شما هستیم
    سپاس گذارم پیشاپیش

    • Avatar

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

      مهدی زمانی

      تقریبا نوشته شده و به زودی تمام میشه

  6. Avatar

    مهمان

    محمد

    فدات
    محمد عزیزی