NOTICE توجه: این یک موضوع قدیمی است که آخرین پست ارسالی آن مربوط به 3820 روز قبل است . لطفا فقط پاسخ ها ، سوالات و درخواست های 100 درصد مرتبط را به آن ارسال کنید و برای درخواست ها و سوالات جدید موضوع جدیدی را ایجاد کنید
صفحه 1 از 3 123 آخرینآخرین
نمایش نتایج: از 1 به 20 از 47

موضوع: مجموعه دستورات cmsis برای stm32f4xxxx

  1. #1
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض مجموعه دستورات cmsis برای stm32f4xxxx

    با درود
    با توجه به تصمیمات و نتیجه گیری تصمیم بر این شد تا تایپیکی مستقل برای بحث و اموزش دستورات پرکاربرد CMSIS برای میکرو کنترلر STM32 سری F4 راه اندازی شود .
    امید است تا دوستان و مدیران تا انجا که می توانند به این تایپک کمک کنند.
    من برای شروع با اجازه دوستان چند دستور را می نویسم در پست های بعدی که رسما تایپیک کار خودشو شروع کنه
    من تصمیم دارم برای هر قسمت که تکمیل شد PDF مربوط به ان قسمت را هم بسازم تا دوستان دیگه راحت باشند برای همین در ابتدای بحث به بحث مهم و شیرین رجیستر RCC می پردازیم لطفا دوستان هم ما را یاری کنند.
    ویرایش توسط Ma3ood : 28-07-2012 در ساعت 13:11

  2. کاربران : 8 تشکر کرده اند از شما Ma3ood برای ارسال این پست سودمند:


  3. # ADS
    Circuit advertisement
    تاریخ عضویت
    Always
    نام
    Advertising world
    نوشته ها
    Many
     

  4. #2
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    سری دستورات مربوط به RCC
    دستور مربوط به فعال سازی کلاک مربوط یه پورت یا یک پین از میکرو مربوط به AHB1
    کد:
     RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx, ENABLE);
    مثال در اینجا کلاک مربوط به دو پورت A, B را فعال کردیم:
    کد:
       RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA | RCC_AHB1Periph_GPIOB , ENABLE);
    دستورات زیر هم همانند دستور بالا کار میکنند :
    کد:
     RCC_AHB2PeriphClockCmd(RCC_AHB2Periph_GPIOx, ENABLE);
     RCC_AHB3PeriphClockCmd(RCC_AHB3Periph_GPIOx, ENABLE);
     RCC_APB1PeriphClockCmd(RCC_APB1Periph_GPIOx, ENABLE);
     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOx, ENABLE);
    ویرایش توسط Ma3ood : 28-07-2012 در ساعت 13:33

  5. کاربران : 6 تشکر کرده اند از شما Ma3ood برای ارسال این پست سودمند:


  6. #3
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    اما سوال خودم
    این دو دستور از سری دستورات RCC دقیقا برای چی استفاده میشوند.
    کد:
      RCC_GetClocksFreq(&RCC_Clocks);
      SysTick_Config(RCC_Clocks.HCLK_Frequency / 100);

  7. #4
    مدیر بخش STM32 sigma-mx آواتار ها
    تاریخ عضویت
    Nov 2009
    نام
    سعید شریفیان
    نوشته ها
    1,421
    تشکر
    804
    تشکر شده 2,520 بار در 978 پست

    پیش فرض

    سلام دوستان . امیدوارم تاپیک خوبی بشه . پس بحث مربوط به CMSIS و سری F4 میکروی ST رو فقط در اینجا مطرح کنید .. با تشکر ..

    خب آقا مسعود دستور اول مقدار کلاک رو در RCC_Clocks ذخیره میکنه . و این دستور جهت دیباگ کاربرد داره .. فکر کنم اگه پاک بشه هم کار کنه ...
    دستور دوم هم کلاک واحد SysTick رو کانفیگ میکنه .. برای استفاده از delay

  8. کاربران : 2 تشکر کرده اند از شما sigma-mx برای ارسال این پست سودمند:


  9. #5
    ناظم انجمن Ma3ood آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    مسعود
    نوشته ها
    2,248
    تشکر
    1,912
    تشکر شده 3,087 بار در 1,509 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sigma-mx نمایش پست ها
    سلام دوستان . امیدوارم تاپیک خوبی بشه . پس بحث مربوط به CMSIS و سری F4 میکروی ST رو فقط در اینجا مطرح کنید .. با تشکر ..

    خب آقا مسعود دستور اول مقدار کلاک رو در RCC_Clocks ذخیره میکنه . و این دستور جهت دیباگ کاربرد داره .. فکر کنم اگه پاک بشه هم کار کنه ...
    دستور دوم هم کلاک واحد SysTick رو کانفیگ میکنه .. برای استفاده از delay
    متاسفانه کاربرد دستور دوم را زیاد متوجه نشدم واحد SysTick اگه اشتباه نکنم برای تایمر و.... بود درسته

  10. #6
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط masoud70 نمایش پست ها
    متاسفانه کاربرد دستور دوم را زیاد متوجه نشدم واحد SysTick اگه اشتباه نکنم برای تایمر و.... بود درسته
    سلام مهندس
    همونطور كه آقا سعيد هم توضيح دادن اين دستور براي ايجاد تاخير به كار ميره. يعني با عددي كه بهش نسبت ميديم باعث ايجاد وقفه ميشه.
    حالا چطوري؟
    فرض كنيم كه فركانس هسته ميكرو، روي 72 مگاهرتز تنظيم كرديم.
    خوب اگه 72 مگاهرتز رو بر 1000 تقسيم كنيم ميشه 72كيلوهرتز.
    ميدونيم كه 72 كيلوهرتز يعني 72000 هرتز. اگه اين عدد رو داخل دستور SysTick_Config قرار بديم. به اين صورت:
    کد:
    SysTick_Config(72000);
    با قرار دادن اين عدد وقفه هر 1 ميلي ثانيه اتفاق ميافته. خوب اگه بخوايد وقفه در زمان مورد نظر خودتون افتاق بيفته ميتونيد از روش زير استفاده كنيد
    اگه عدد 72000 رو بر 72000000 تقسيم كنيد ميشه 0.001 ثانيه يعني همون يك ميلي ثانيه.
    يا اگه ميخوايد وقفه هر 1 ميكرو ثانيه رو بده، به جاي 72000 عدد 72 رو تو دستور
    SysTick_Config بذاريد. فقط همين..
    اميدوارم خيلي پيچيدش نكرده باشم.
    ویرایش توسط sadmonew : 28-07-2012 در ساعت 20:59
    _____________________________________
    _____________________________________

  11. کاربران : 10 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  12. #7
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    خوب يه مثال ميزنم كه ملموس تر باشه.
    تو كتابخونه CMSIS دو تا فايل به اسم هاي stm32f4xx_it.c و stm32f4xx_it.h داريم كه از اسم فايل هم مشخصه براي وقفه(interrupt) به كار ميره.
    تو فايل stm32f4xx_it.c يه تابع به اسم SysTick_Handler وجود داره.
    هر موقع وقفه در زمان مشخص شده مثلا هر 1 ميلي ثانيه رخ بده، اين تابع فراخواني ميشه و دستوراتي كه توش قرار داده باشيم رو اجرا ميكنه.
    حالا شما فرض كنيد كه اگه يه متغير تعريف كنيد كه با هر بار فراخواني اين تابع ، يك واحد ازش كم بشه ميتونيد با اين روش يك تابع براي ايجاد تاخير(Delay) بنويسيد.
    ویرایش توسط sadmonew : 28-07-2012 در ساعت 22:15
    _____________________________________
    _____________________________________

  13. کاربران : 4 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  14. #8
    کاربر علاقه مند electeron_man آواتار ها
    تاریخ عضویت
    Jan 2008
    نام
    ایمان
    نوشته ها
    23
    تشکر
    13
    تشکر شده 8 بار در 8 پست

    پیش فرض

    سلام بر مهندسین ایران زمین
    خیلی عالیه
    انشالله این تاپیک مثل دیسکاوری نباشه و هر روز پر بارتر و کاربردی تر و علمی تر بشه

  15. تشکرها از این نوشته :


  16. #9
    کاربر دائمی
    تاریخ عضویت
    Jul 2009
    نوشته ها
    415
    تشکر
    218
    تشکر شده 531 بار در 212 پست

    پیش فرض

    نقل قول نوشته اصلی توسط sadmonew نمایش پست ها
    خوب يه مثال ميزنم كه ملموس تر باشه.
    تو كتابخونه CMSIS دو تا فايل به اسم هاي stm32f4xx_it.c و stm32f4xx_it.h داريم كه از اسم فايل هم مشخصه براي وقفه(interrupt) به كار ميره.
    تو فايل stm32f4xx_it.c يه تابع به اسم SysTick_Handler وجود داره.
    هر موقع وقفه در زمان مشخص شده مثلا هر 1 ميلي ثانيه رخ بده، اين تابع فراخواني ميشه و دستوراتي كه توش قرار داده باشيم رو اجرا ميكنه.
    حالا شما فرض كنيد كه اگه يه متغير تعريف كنيد كه با هر بار فراخواني اين تابع ، يك واحد ازش كم بشه ميتونيد با اين روش يك تابع براي ايجاد تاخير(Delay) بنويسيد.
    درواقع ايجاد تاخير در اجراي قسمتي از برنامه نبايد توسط حلقه انجام بشه .. يعني نبايد در زمان تاخير Cpu در گير باشه .. در كارهاي كوچك و تك پردازشي شايد اهميتي نداشته باشه ولي وقتي سيستم عامل باشه يا چند پروسس هم زمان در حال انجام باشه درگير كردن cpu براي تاخير كاملا اشتباه هست

    ممنون از آموزش خوبتون

  17. تشکرها از این نوشته :


  18. #10
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط alishekarriz نمایش پست ها
    درواقع ايجاد تاخير در اجراي قسمتي از برنامه نبايد توسط حلقه انجام بشه .. يعني نبايد در زمان تاخير cpu در گير باشه .. در كارهاي كوچك و تك پردازشي شايد اهميتي نداشته باشه ولي وقتي سيستم عامل باشه يا چند پروسس هم زمان در حال انجام باشه درگير كردن cpu براي تاخير كاملا اشتباه هست

    ممنون از آموزش خوبتون
    سلام مهندس شكرريز عزيز
    خواهش ميكنم، نظر لطفتونه.
    بله كاملا درسته.
    منظور من هم همون كارهاي تك پردازشي هستش. خودمو دارم ميگم، هنوز مونده با سيستم عاملي كه براي اين ميكرو طراحي شده كار كنم.هنوز نتونستم همه قسمتاشو راه بندازم و باهاشون كار كنم!
    _____________________________________
    _____________________________________

  19. #11
    کاربر دائمی
    تاریخ عضویت
    Jul 2009
    نوشته ها
    415
    تشکر
    218
    تشکر شده 531 بار در 212 پست

    پیش فرض

    اقا اگر من اندازه شما بلد بودم كه ...

    دست ما رو هم بگير مهندس .. بعد كلي كه فهميديم استراكت چي هست .. شما عزيزان در حركتي ستودني رفتيد سراغ Cmsis و حالا بايد برم كلاس ياد بگيرم .

    ممنون از راهنماييهاتون ..
    فعلا بايد ربط بين دستورات cmsis و منوآل رو درك كنم

    موفق و شاد باشيم

  20. تشکرها از این نوشته :


  21. #12
    مدير بخش STM32 sadmonew آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    صادق محمدي
    نوشته ها
    2,002
    تشکر
    6,283
    تشکر شده 3,115 بار در 1,408 پست

    پیش فرض

    نقل قول نوشته اصلی توسط alishekarriz نمایش پست ها
    اقا اگر من اندازه شما بلد بودم كه ...
    سلام دوست گلم مهندس شكرريز
    مهندس كي بلده؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ من.................

    نقل قول نوشته اصلی توسط alishekarriz نمایش پست ها
    دست ما رو هم بگير مهندس ..
    مهندس بگو چيكار كنم كه از ما راضي بشين؟؟

    نقل قول نوشته اصلی توسط alishekarriz نمایش پست ها
    بعد كلي كه فهميديم استراكت چي هست ..
    مهندس همه مواردي كه به برنامه نويسي تو C مربوط ميشه رو ميتونيد خيلي راحت از كتاباي آموزش زبان C ياد بگيرين. خيلي قشنگ توضيح دادن.
    _____________________________________
    _____________________________________

  22. کاربران : 3 تشکر کرده اند از شما sadmonew برای ارسال این پست سودمند:


  23. #13
    کاربر دائمی
    تاریخ عضویت
    Jul 2009
    نوشته ها
    415
    تشکر
    218
    تشکر شده 531 بار در 212 پست

    پیش فرض

    مهندس چوبكاري ميكني

    شما هم استادي هم همه دوست داشتني ..همه هم ازت راضي هستن

    كتاب سي رو دارم شروع ميكنم

    امروز پرينتر هم خريدم spp100 .. براي خريد lcd گرافيكي يك بار با جناب حسينا رفتيم ولي نخريدم .. شما پيشنهادتون چيه .. 3.2 اينچ موبايلي ...

    يا گرافيك lcd هاي قديم تك رنگ (يكي دارم)

    ممنون از آموزشها و راهنماييها
    شاد و موفق تر

  24. تشکرها از این نوشته :


  25. #14
    مدیر باز نشسته shayanmelody آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    شایان نیکزاد
    نوشته ها
    576
    تشکر
    283
    تشکر شده 1,038 بار در 473 پست

    پیش فرض

    يعني همه بچه ها رو اين ميكرو كار كردن و همه قسمت هاشو راه انداختن ديگه ؟!
    از جمله تايمر كه ميخواستم مطالبش رو بزارم ، پس نيازي نيست كه بزارم همه كار كردن !



    بعد از چند وقت برگشتم



  26. تشکرها از این نوشته :


  27. #15
    مدیرکل انجمنها Doloop آواتار ها
    تاریخ عضویت
    Aug 2011
    نام
    حسين
    نوشته ها
    1,964
    تشکر
    3,312
    تشکر شده 3,086 بار در 1,371 پست

    پیش فرض

    خوب آقا شایان نیکی و پرسش
    بزار منتظریم ببینیم چی کار کردی
    *** اللّهم عجّل لولیک الفرج ***

  28. تشکرها از این نوشته :


  29. #16
    مدیر باز نشسته shayanmelody آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    شایان نیکزاد
    نوشته ها
    576
    تشکر
    283
    تشکر شده 1,038 بار در 473 پست

    پیش فرض

    خداييش مطالبش خيلي خيلي زياده ‌!‌
    توابع مربوط به تايمر/كانتر تو خود فايل سورسش به 9 قسمت تقسيم شده ،‌ كار ترجمه و توضيح توابع قسمت اولش تقريبا تموم شده و امروز فردا با يه مثالي كه روي همين برد جواب بده قرار ميدم
    فكر نكنم بتونم هر 9 قسمت رو قرار بدم ، چون تنهايي اصلا نميشه ! 3 ،‌4 قسمت مهمش رو ميزارم كه بيشتر به كارمون مياد



    بعد از چند وقت برگشتم



  30. کاربران : 6 تشکر کرده اند از شما shayanmelody برای ارسال این پست سودمند:


  31. #17
    مدیر باز نشسته shayanmelody آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    شایان نیکزاد
    نوشته ها
    576
    تشکر
    283
    تشکر شده 1,038 بار در 473 پست

    پیش فرض

    به نظر شما تو فايل ورد قرار بدم يا همينجا بنويسم ؟!



    بعد از چند وقت برگشتم



  32. تشکرها از این نوشته :


  33. #18
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    نقل قول نوشته اصلی توسط shayanmelody نمایش پست ها
    توابع مربوط به تايمر/كانتر تو خود فايل سورسش به 9 قسمت تقسيم شده ،‌
    سلام
    از کدوم مثالها برای تایمر استفاده می کنید؟ در فایل:
    STM32F4xx_DSP_StdPeriph_Lib_V1.0.1\Project\STM32F4 xx_StdPeriph_Examples\TIM
    که جزء لینکهای دانلودی هست که اینجا
    ایـــــــــران میـــــــکرو ™ - مشاهده یک موضوع - شروع کار با برد Discovery kit for STM32 F4 series - with STM32F407 MCU
    گذاشتم یه تعداد مثال تایمر هست:

    اینها را میگید زیاده؟
    تصاوير کوچک فايل پيوست تصاوير کوچک فايل پيوست برای دیدن سایز بزرگ روی عکس کلیک کنید

نام: TIM_discovery.PNG
مشاهده: 243
حجم: 20.8 کیلو بایت  

  34. #19
    مدیر انجمن mzarkoob آواتار ها
    تاریخ عضویت
    Jun 2011
    نام
    مهدی زرکوب
    نوشته ها
    2,902
    تشکر
    1,202
    تشکر شده 2,317 بار در 1,273 پست

    پیش فرض

    نقل قول نوشته اصلی توسط shayanmelody نمایش پست ها
    به نظر شما تو فايل ورد قرار بدم يا همينجا بنويسم ؟!
    در فایل pdf قرار بدید

  35. #20
    مدیر باز نشسته shayanmelody آواتار ها
    تاریخ عضویت
    Jan 2011
    نام
    شایان نیکزاد
    نوشته ها
    576
    تشکر
    283
    تشکر شده 1,038 بار در 473 پست

    پیش فرض

    والله از مثال هاي آماده استفاده نميكنم ، از اول شروع ميكنم به نوشتن مثالي كه هم ساده باشه و هم بشه به يه صورتي نتيجش رو روي برد ديد
    ترجمه قسمت اول بدون مثال حدود 11 صفحه شده !‌ با اينكه در هم و قاطي پاتي نوشتم ، كي ميخواد اينهمه تايپ كنه !‌



    بعد از چند وقت برگشتم



  36. کاربران : 5 تشکر کرده اند از شما shayanmelody برای ارسال این پست سودمند:


صفحه 1 از 3 123 آخرینآخرین

موضوعات مشابه

  1. دستورات cmsis
    توسط Caspian1361 در انجمن LPC series (NXP)
    پاسخ: 2
    آخرين نوشته: 10-11-2013, 10:44
  2. میکرو lpc ارزان و دستورات cmsis
    توسط soodi در انجمن LPC series (NXP)
    پاسخ: 7
    آخرين نوشته: 12-06-2013, 20:45
  3. توضیح دستورات cmsis
    توسط esi_52000 در انجمن LPC series (NXP)
    پاسخ: 8
    آخرين نوشته: 27-01-2012, 00:05
  4. پاسخ: 0
    آخرين نوشته: 22-01-2010, 17:13
  5. دانلود مجموعه کتب متلب
    توسط kavir در انجمن پرسش و پاسخ (نرم افزارهای تخصصی)
    پاسخ: 0
    آخرين نوشته: 02-10-2008, 22:20

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •