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

موضوع: فیلم آموزش STM32F10x (مقدماتی و متوسط)

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

    پیش فرض فیلم آموزش STM32F10x (مقدماتی و متوسط)

    با عنایت خداوند متعال قدمی دیگر در جهت خدمت به کاربران و علاقه مندان به میکروکنترلرهای ARM از شرکت ST، برداشته شد.

    این مجموعه حدود 10 ساعت فیلم آموزشی می باشد آموزش ها کاملا کاربردی و مثال ها همگی روی برد شرکت کویرالکترونیک تست شده اند. این مجموعه سطح مقدماتی می باشد. که به سه قسمت تقسیم شده است :
    قسمت رجیستری
    قسمت CMSIS
    پروژه هایی برای کار با واحدهای میکرو

    سر فصل های آموزش میکروکنترلر STM32F10X (مقدماتی متوسط ) :

    قسمت رجیستری :

    1- مقدمه - آشنایی با کامپایلرKeil ، ایجاد پروژه و پروگرام کردن
    1-1- شرح نحوه ایجاد پروژه درKeil4
    1-2- اجرای عملی ایجاد پروژه درKeil4
    1-3- آشنایی با شبیه ساز دیباگر کیل
    1-4- نحوه پروگرام کردن با جیلینک و اجرای عملی
    2- GPIO
    2-1- شرح رجیسترها
    2-2- شرح مثال 1
    2-3- اجرای عملی مثال 1
    2-4- شرح مثال 2 و اجرای عملی
    3- EXTI
    3-1- آشنایی با وقفه، عملکر و شرح رجیسترها
    3-2- شرح مثال 1 و اجرا در سیمولاتور
    3-3- شرح مثال 2 و اجرا در سیمولاتور
    3-4- اجرای عملی مثال ها
    4- USART
    4-1- پایه ها، رجیسترها و شرح رجیسترها
    4-2- شرح مثال های ارسال دریافت کاراکتر و رشته
    4-3- اجرای عملی مثال ها
    4-4- نحوه ایجاد کتابخانه واضافه کردن به پروژه
    4-5- وقفه سریال، شرح مثال
    4-6- اجرای عملی وقفه سریال
    4-7- استفاده از توابع stdio و اجرای عملی
    5- Timer
    5-1- رجیسترها و شرح رجیسترهای تایمر
    5-2- شرح مثال و اجرای عملی
    5-3- رجیسترها و شرح رجیسترهای PWM
    5-4- شرح و اجرای مثال های PWM
    6- ADC
    6-1- پایه ها، رجیسترها و شرح رجیسترها
    6-2- شرح راه اندازی ADC دو کانال مختلف
    6-3- اجرای عملی مثال
    6-4- وقفه ADC، شرح و اجرای عملی مثال
    7- DAC
    7-1- پایه ها، رجیسترها و شرح مثال
    7-2- پخش فایل صوتی از فلش خود میکرو با DAC
    8- RTC
    8-1- سخت افزار، رجیسترها و شرح رجیسترها
    8-2- شرح و اجرای عملی مثال
    8-3- وقفه RTC و Alarm و اجرای عملی مثال

    قسمت توابع
    CMSIS :
    1- ایجاد پروژه جدید با کتابخانه های CMSIS و پروگرام کردن
    1-1- شرح نحوه ایجاد پروژه درKeil4 و پروگرام کردن
    2- GPIO
    2-1- شرح توابع و شرح مثال
    2-2- شرح مثال ورودی gpio و اجرای عملی
    3- EXTI
    3-1- عملکر وقفه و واحد NVIC و شرح توابع و مثال
    3-2- اجرای عملی مثال
    4- USART
    4-1- شرح توابع و شرح مثال ها
    4-2- اجرای عملی مثالهای ارسال و دریافت کاراکتر و رشته
    4-3- وقفه، شرح مثال و اجرای عملی
    5- Timer
    5-1- شرح توابع و شرح مثال و اجرا
    5-2- راه اندازی pwm و مثال
    6- ADC
    6-1- شرح توابع، مثال و اجرای عملی
    6-2- وقفه، شرح مثال و اجرا
    7- DAC
    7-1- پایه ها، توابع و شرح مثال و پخش فایل صوتی
    8- RTC
    8-1- شرح توابع، مثال و اجرای عملی

    قسمت پروژه و کاربرد :

    1- ال سی دی کاراکتری
    1-1- سخت افزار ، پایه ها، شرح توابع
    1-2- شرح مثال و اجرای عملی
    1-3- شرح مثال کیل و نحوه تغییرات در آن
    2- ال سی دی گرافیکی
    2-1- سخت افزار ، پایه ها، شرح توابع
    2-2- شرح مثال ها و اجرای عملی
    3- کیپد 4*4
    3-1- سخت افزار ، پایه ها، شرح الگوریتم برنامه
    3-2- شرح مثال ها و اجرای عملی
    4- ترکیب چند کار در یک پروژه
    4-1- شرح روند کار ترکیب USART,ADC,GPIO و ...و اجرای عملی

    قسمت
    توابعHAL :
    1- ایجاد پروژه و پروگرام کردن با STM32CubeMX
    1-1- شرح نحوه ایجاد پروژه در STM32CubeMX
    و سایر موارد در :
    فیلم های آموزش کار با نرم افزار STM32CubeMX و توابع HAL در میکروکنترلر stm32f10x

    و در کانال
    armeducation@

    دربخش اول راه اندازی امکانات جانبی میکرو با استفاده از دستورات رجیستری شرح داده شده است.
    دستورات رجیستری به این صورت است که با استفاده از تنظیم رجیستر هایی که برای هر یک از امکانات جانبی وجود دارد ، آن قسمت را فعال کرده و سپس از آن استفاده می کنیم.
    با استفاده از چند مثال این موضوع را بیشتر شرح می دهیم.
    به عنوان مثال می خواهیم پایه PD.6 را خروجی GPIO کنیم و آن را ست کنیم داریم:
    کد:
     GPIOD->CRL &= ~0xF000000;
    GPIOD->CRL |= 0x3000000;

    یا تنظیمات ارسال را برای پورت سریال انجام دهیم:
    کد:
    USART1->CR1 = (( 1UL << 2) | /* enable RX */( 1UL << 3) | /* enable TX */
    
    ( 0UL << 12) ); /* 1 start bit, 8 data bits */
    CRL و BSSR و CR1 و BRR و ... همگی رجیستر هستند که برای انجام کار مورد نظر بایستی به صورتی که در رفرنس منوال ذکر شده تنظیم شوند.
    این کار مزایا و معایب خود را دارد.
    مزیت های این کار این است که مستقیما و با کمترین زمان ممکن و با یک پروژه خلوت تر، تنظیمات لازم در میکرو برای انجام کار مورد نظر انجام می شود. قدرت برنامه نویسی بیشتر خواهد بود.
    عیب این روش مخصوص کسانی است که نمی خواهند خود را با دستورات رجیستر درگیر کنند و می خواهند با دستورات سطح بالاتری که از روی خود دستور متوجه عمکرد آن بشوند، سرو کار داشته باشند.
    دربخش دوم شرح دستورات CMSIS ذکر شده است. این دستورات کتابخانه های آماده ای هستند که در داخل آنها با تنظیمات رجیستری عملیات مورد نظر انجام می شود و ما با با فراخوانی نام این تابع از آن استفاده می کنیم. با چند مثل این موضوع بیشتر شرح داده می شود:
    در همان مثال فوق با استفاده از دستور :
    کد:
    GPIO_WriteBit(GPIOD,GPIO_Pin_12,Bit_SET);

    پایه PD.12 که از قبل به عنوان خروجی تعریف شده، ست می شود یا با دستور:
    کد:
    GPIO_ResetBits(GPIOD,GPIO_Pin_12);

    آن پایه ریست می شود. همان طور که مشاهده می شود از نام این توابع تقریبا می توان با کاری که انجام می دهد پی برد و فهمیدن آن راحت تر است. داخل این توابع با همان دستورات رجیستری تنظیمات مربوطه انجام می شود و ما برای استفاده از این دستورات بایستی این کتابخانه ها را به پروژه برنامه اضافه کنیم(نحوه ایجاد پروژه در اینجامهم است). به این صورت به سادگی قابل استفاده است.
    البته این دستورات ممکن است تمام رجیستر هایی که در میکرو قابل استفاده است را پوشش ندهد یا نقایصی باشد و در جایی که می خواهیم کاری با کمترین زمان ممکن انجام شود سرعت اجرا را کمی بیشتر کند که باید به آن دقت شود...

    در
    این مجموعه جهت تهیه پاورپونیت ها و تست عملی مثال ها، ضبط و ویرایش فیلم ها، وقت بسیار زیادی گذاشته شده است. این همه در جهت این بوده است که یک مجموعه آموزشی مفید و کاربردی و با محتوای خالص آموزشی در اختیار شما قرار داده شود که مورد رضایت شما واقع شود.

    در پایان به این نکته توجه داشته باشید که :

    • پیش نیاز اجرای پروژه های میکروکنترلر ARM، تسلط به زبان C و تسلط به خود میکروکنترلر می باشد.
    تسلط به خود میکروکنترلرهای ARM، نیاز به تمرین و صرف زمان دارد.
    این مجموعه به همراه تمرین، مقدمه تسلط شما به این میکروکنترلر را فراهم می کند و قطعا باعث پیشرفت شتابان شما جهت کار با این میکروکنترلر خواهد بود ان شاء الله.
    حمایت شما از ما، خرید مجموعه از فروشگاه کویرالکترونیک به همراه ارائه نظرات، پیشنهادات و انتقادات در این تاپیک می باشد. خریداران مجموعه در فروم ایران میکرو از ساپورت ویژه برخوردار خواند بود.
    تمامی مثالهای تست شده در داخل دی وی دی می باشد. این آموزش ها کاملا کاربردی و عملی می باشد و روی برد شرکت کویرالکترونیک تست شده است

    • تذکر: هر گونه کپی برداری و پخش غیر قانونی این اثر از نظر شرعی حرام می باشد و پدید آورندگان این اثر هیچ گونه رضایتی ندارند!


    • تمامی حقوق مادی و معنوی این اثر برای پدید آورندگان این اثر محفوظ می باشد.



    برد STM32F103VET6 تولید گروه کویرالکترونیک بوده و آموزش های ما بر اساس آن می باشد:
    فیلم آموزش کاربردی زبان c در میکروکنترلرهای ARM


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

  3. #2
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    پیش فرض

    ممنون . من دنبال کار با سیستم عامل emwin با توابع hal هستم .
    اگه به مجموعه اظافه کنید خیلی خوب میشه .

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


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

    پیش فرض

    سلام
    آیا با در نرم افزار stm32cubemx
    می توانemwin را پیاده سازی کرد؟ امکانش در این نرم افزار قرار داده شده است!؟در هر صورت کار قدم قدم!

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


  7. #4
    کاربر فعال jonbakhsh آواتار ها
    تاریخ عضویت
    Apr 2008
    نام
    H.J
    نوشته ها
    371
    تشکر
    192
    تشکر شده 225 بار در 101 پست

    پیش فرض

    ممنون . من چنین امکانی ندیدم توی نرم افزار
    stm32cubemx ؟؟؟
    میشه بیشتر توضیح بدید . ممنون

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

    پیش فرض

    این نرم افزار با توجه با تنظیماتی که به صورت ویژآل در ان انجام می شود برای تمام خانواده های stm32 یک پروژه ایجاد می کند که در توابعی اینیشیالیز اولیه در آن انجام شده بایستی از سایر تابع آن پریفرال ها استفاده شود.
    حال وقتی چنین امکانی
    در نرم افزار stm32cubemx
    برای
    emwin مشاهده نکردید چطور می خواهید این کار انجام دهید!؟ مگر اینکه در پروژه ای که با تابع Hal دارید کتابخانه های emwin هم اد بفرمایید.

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


  10. #6
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2014
    نوشته ها
    32
    تشکر
    24
    تشکر شده 3 بار در 2 پست

    پیش فرض

    سلام اقا مهدی. من این اموزش را سفارش داده ام نوشته در حال اماده سازی (زماندار). این یعنی چی؟ مگر این محصول "فیلم آموزشی stm32f10x مقدماتی و متوسط

    "
    تولید نشده است؟ علت رماندار بودن ان چیست؟ در سایت چیزی در این مورد بیان نشده بود که تحویل ان زمان دار هست.

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

    پیش فرض

    سلام
    بله تولید شده یکم مراحل پک کردن آن زمان لازم داشت و آقای زارعی زحمتشو کشیدند . الان آماده هست به ترتیب از فردا یک شنبه 96/7/23 ارسال می شود.

  12. #8
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2014
    نوشته ها
    32
    تشکر
    24
    تشکر شده 3 بار در 2 پست

    پیش فرض

    سلام اقا مهدی .سه تا dvd ان به دست ام رسید. کیفیت فیلم ها بالا هست. ممنون. دستتان درد نکند. و خسته نباشید.
    فقط یه سوال داشتم
    برای سیمولاتور کیل اگر از میکرو کنترلر stm32f407vg استفاده کنیم، شما می دانید تنظیمات صفحه دیباگ باید چگونه باشد؟ الان به صورت زیر است ولی وارد قسمت main() نمی شود.
    فایل پیوست 9582

  13. #9
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2014
    نوشته ها
    32
    تشکر
    24
    تشکر شده 3 بار در 2 پست

    پیش فرض

    سلام اقا راه حلش در این فیلم گفته شده. من تست کردم درست شد. گفتم شاید به کار بقیه هم بیاید.

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


  15. #10
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2014
    نوشته ها
    32
    تشکر
    24
    تشکر شده 3 بار در 2 پست

    پیش فرض

    اقا مهدی در 3 dvd بنده فقط یک فیلم در مورد STM32CubeMX می باشد. ایا درست است؟ منظورم این هست که ایا فقط یک فیلم در ان قرار داده اید؟ یا برای من این گونه هست؟

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

    پیش فرض

    سلام
    بله درست است!
    در توضیحات هم گفته شده که :
    1-1- شرح نحوه ایجاد پروژه در STM32CubeMX
    و سایر موارد در : فیلم های آموزش کار با نرم افزار STM32CubeMX و توابع HAL در میکروکنترلر stm32f10x

    و در کانال armeducation@
    چون این یکی از قبل آماده بوده قرار داده شده و بنا هست این قسمت ها در فروم قرار داده شود.

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


  18. #12
    کاربر علاقه مند
    تاریخ عضویت
    Dec 2014
    نوشته ها
    32
    تشکر
    24
    تشکر شده 3 بار در 2 پست

    پیش فرض

    الان در سایت قرار داده شده است؟ اگر بله، ادرس سایت را می فرمایید؟

  19. #13

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


  21. #14
    عضو جدید
    تاریخ عضویت
    Oct 2012
    نام
    هادی برک
    نوشته ها
    19
    تشکر
    21
    تشکر شده 16 بار در 10 پست

    پیش فرض

    سلام

    با یادگرفتن برنامه نویسی سری f1 میشه برای f0 هم برنامه نوشت یا این دو باهم فرق دارن؟

    انشالله قسمت پیشرفته آموزش رو هم قصد دارید بسازید ؟ (کار با can, spi, i2c و usb)

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

    پیش فرض

    سلام
    یک اصول عملکرد هست که یکسان است.
    بعضی رجیسترهاش فرق داره اگر رجیستری بخواهید کار کنید
    مثلا کانفیک gpio تفاوت دارد. ولی مواردی تفاوتی ندارد.
    این مطلب کانال میتونه مفید باشه :
    --------------------------
    در صورتی که با نوعی از میکرو کار کرده اید و برای کاری نیاز شده با مدل دیگری کار کنید ممکن است این دیدگاه را داشته باشید که هر دوی اینها از یک شرکت هستند، پس تنظیمات مثل هم است. موقعی متوجه این دیدگاه اشتباه می شوید که تنظیمی را عینا بدون دیدن منوال میکرو از مدل دیگر کپی کرده اید و وقت زیادی هم صرف شده که چرا کار نمی کند🤔 . با خود می گویید مگر در مدل دیگر کار نمی کرد پس اینجا هم باید کار کند! 😳 غافل از اینکه ممکن است حتی در یک بیت اختلاف تنظیم وجود داشته باشد یا اختلاف اساسی تر باشد.
    تفاوت هایی بین lpc1768 و lpc1788 هست. همچنین بین سری های STM32 (STM32F0,STM32F1 ..)
    وقتی هدری که ابتدا include می کنید عوض شود وجود تفاوت هایی را بایستی مد نظر قرار داد. در هر صورت رفرنس، یورز منوال یا رفرنس منوال همان سری می باشد.
    Telegram: Contact @armeducation
    --------------------------


    برای پیشرفته هم اگر فرصت بشه و عمری باشه

  23. #16
    تازه وارد
    تاریخ عضویت
    Oct 2017
    نوشته ها
    3
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    رجیستر های CRL یا CRH تو تنظیمات GPIO دقیقا چرا CRH &= ~ دقیقا & و ~ میشه توضیح بدین؟؟؟ ممنون هستم جناب مهندس. و اینکه یک رجیستر تازه و باهاش اشنا میشیم چطور مقدار دهی کنیم و اصلا اصول مقدار دهی چگونه هستش ممنون .مثلا در مورد remap کردن توضیح بین.
    AF remap and debug I/O configuration register (AFIO_MAPR)
    و اینکه میخوام پایه D12 رو تو مد pwm تنظیم کنیم.
    AFIO -> MAPR |= AFIO_MAPR_TIM4_REMAP;
    یا
    AFIO -> MAPR = ۱>>۱۲;
    کدوم درسته؟

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

    پیش فرض

    سلام
    این موارد برنامه نویسی چون در تمام میکروکنترلرهای ARM استفاده می شود در فیلم آموزش کاربردی زبان سی در میکروکنترلرهای ARM بررسی شده است.
    البته در کانال این موارد پایه نیز قرار داده شده است:
    ------------------------
    سوالات اولیه ای که معمولا برای کسانی که به کار با میکروکنترلرهای ARM شروع می کنند بسیار پیش آمده است و بسیار پرسیده شده است :
    - این دستوراتی مثل
    LPC_GPIO0->FIOSET = 0x03
    و
    LPC_GPIO0->FIOSET = (0x03) « 16;
    چه بیت هایی را ست می کند. عملگر » در اینجا چه کاری انجام می دهد؟
    - عباراتی که با =| و ~=& به کار برده می شوند چه مفهومی دارند؟
    - تعریف یک متغییر با int32_t و int8_t به چه معناست؟
    - چگونه چک کردن یک بیت از یک رجیستر انجام می شود؟ مثلا چک کردن 0 شدن بیت 11 از رجیستری مثلا رجیستر PIN این گونه انجام شده:
    (LPC_GPIO2->FIOPIN & 1«11) ==0
    پس چک کردن 1 شدن بیت 11 از رجیستر PIN چگونه انجام می شود؟ چرا وقتی من از دستور :
    LPC_GPIO2->FIOPIN & (1«11))== 1


    برای چک کردن ست شدن بیت 11 استفاده می کنم، کار نمی کند!؟
    - عملکرد این ماکرو به چه نحو است :
    #define LED1_ON(x) ((x) ? (LPC_GPIO1->FIOSET = LED1) : (LPC_GPIO1->FIOCLR = LED1))


    - نحوه تبدیل یک متغییر به یک رشته چگونه است؟
    - چگونه ورودی ها و خروجی ها را در یک تابع مشخص کنیم؟
    - چگونه یک کتابخانه درست کنیم و به پروژه اضافه کنیم؟
    - و ....
    شما چه سوالات ابتدایی برایتان پیش آمده است!؟
    Telegram: Contact @armeducation
    -------------------------------
    در صورتی که بخواهید از پریفرالی استفاده کنید بایستی یک پیکربندی(اینیشیالیز) انجام شود. در اینجا لازم است ابتدا رجیسترهای مربوطه ریست شود و سپس مقدار دهی شود. مثلا :
    GPIOD->CRL &= ~0xF000000;
    GPIOD->CRL |= 0x2000000 ;
    این موضوع با توجه به پست
    Telegram: Contact @armeducation
    در رابطه با عملگر ~=& می باشد.
    به نظر شما این کار چه ضرورتی دارد!؟
    Telegram: Contact @armeducation
    -----------------------------------------------
    در مورد ریمپ کردن در اینجا فعلا استفاده ای نشده زیرا نیازی نشده ولی گاهی آن تعداد پایه که برای کاری گذاشته شده با کار دیگری تداخل دارد بنابراین این میکرو برای تعدادی پریفرال ها این امکان را گذاشته که از پایه های دیگری استفاده شود. ولی مثل LPC نیست که بتوان تکی پاپه را عوض کرد. بلکه کل آن دسته پایه ها تغییر داده می شود.
    مثلا وقتی قرار می دهید :
    کد:
    AFIO -> MAPR |= AFIO_MAPR_TIM4_REMAP;
    آن پایه هایی که برای کاربرد تایمر بده تغییر می دهید به جای دیگر. و اما این جای دیگر کجاست!؟ در دیتا شیتSTM32F103VE این چینش و کاربرد پایه ها قرار داده شده است. کاربرد عادی پایه تحت عنوان Default و جلوی آن Remap شده قرار داده شده است.
    با استفاده از stm32cubemx هم به سادگی می توان پایه ها را پیدا کرد.

  25. #18
    تازه وارد
    تاریخ عضویت
    Oct 2017
    نوشته ها
    3
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    ممنون از پاسخ کامل شما . در مورد عملگرها فقط نمیشه بیشتر توضیح بدین من احساس کردم به علت اینکه شیفت با or باعث میشه بیت های دیگه تغییر نکنند اما &= and و متوجه نشدم در کنار NOT استفاده شده علتش چیه؟؟؟؟ یعنی مثلا چرا بجای 0xFF000000 از 0x00FFFFFF استفاده نشده که NOT hsjthni kai? بخشید سوالات مقدماتی میپرسم.

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

    پیش فرض

    اما &= and !
    قرار هست چند بیت را ابتدا پاک کنید بعد در آن مقدار قرار دهید. اگر این کار نکنید با توجه به اینکه در خط بعد یک دیتا "or مساوی" شده با مقدار قبلی که پاک نشده ترکیب می شود!
    بنابراین با
    &= ~ که جلوی آن بیت هایی که قرار است پاک شود را ست می کنیم قرار داده می شود. چون نقیص گذاشته شده آن بیت ها را صفر می کند. حال شما می توانید به هر شکلی غیر از این روش آن بیت ها را ابتدا صفر کنید بعد مقدار دهی کنید.

    از این موارد برنامه نویسی در طول کار زیاد است! به خاطر همین است که قبلا ذکر شده :
    ------------------------------
    دو مشکل برای کسانی که می خواهند با میکروکنترلرهای ARM شروع به کار کنند معمولا مشاهده می شود:
    اول عدم آشنایی کافی با برنامه نویسی زبان سی است.
    دوم عدم توانایی انجام کار است. بدین معنا که نمی توانند پریفرال های مختلف را با هم ترکیب کنند و کار مورد انتظار را پیاده سازی کنند.
    ابزار آموزش باعث تسهیل کار می شود ولی چیزی جای تمرین و پشتکار را نمی گیرد.
    Telegram: Contact @armeducation
    ------------------------------
    قبل از کار با میکروکنترلرهای ARM و در راه اندازی پریفرال های میکروکنترلرهای ARM، بایستی به این موضوع توجه شود که :
    • پیش نیاز کار با میکروکنترلرهای ARM ، آشنایی با زبان C می باشد.
    • پیش نیاز اجرای پروژه میکروکنترلرهای ARM ، تسلط به زبان C و تسلط به خود میکروکنترلر می باشد.
    • تسلط به زبان C و تسلط به خود میکروکنترلرهای ARM، نیاز به تمرین و صرف زمان دارد.
    در توضیح پیش نیاز بودن آشنایی با زبان برنامه نویسی سی، کارآموز در حین شرح رجیسترها و برنامه ها و کار با توابع با ایراد و سوال برنامه نویسی C مواجه نمی شود و توجه خود را صرف نحوه تنظیمات رجیسترها و نحوه استفاده از آنها و سایر تنظیمات می کند.
    (فیلم آموزش کاربردی زبان سی در میکروکنترلرهای ARM :
    فیلم کاربردی آموزش زبان C و میکروکنترلر ARM
    به منظور پر کردن این خلا می باشد.)
    حال سوال اینجاست که صرف یادگیری راه اندازی پریفرال های میکروکنترلرهای ARM، کافیست!؟
    Telegram: Contact @armeducation
    -----------------------------




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


  28. #20
    تازه وارد
    تاریخ عضویت
    Oct 2017
    نوشته ها
    3
    تشکر
    0
    تشکر شده 0 بار در 0 پست

    پیش فرض

    ////////////////////////////////////////////////////////void GPIO_Init_pwm (void){

    RCC -> APB2ENR |= RCC_APB2ENR_IOPDEN;

    GPIOD -> CRH &= ~(0xFF000000);
    GPIOD -> CRH |= (0xBB000000);
    }


    //////////////////////////////////////////////////////////
    void TIM4_Init(void){

    RCC-> APB1ENR |= RCC_APB1ENR_TIM4EN; /* 1- clock set */

    TIM4 -> PSC = (7200 - 1); /* 2-Set Prescaler */

    TIM4 -> ARR = (5000 - 1); /* 3-Set Auto Reload */

    TIM4 -> CCR1 = 2500; /* 4-Duty cycale */
    // TIM4 -> CCR2 = 4000; /* Dtty cycale */

    TIM4 -> CCMR1 = (6<<4) ;//| (6<<12); /* 5-PWM mode1 */

    TIM4 -> CCER = (1<<0);//|(1<<4); /* 6-Chanel1 and Chanel2 */

    TIM4 -> CR1 |= TIM_CR1_CEN; /* 7-TIMER ENABLE */

    //AFIO -> MAPR |= AFIO_MAPR_TIM4_REMAP; //1<<12; /* remaping PD12 */ ????????

    AFIO -> MAPR |= 1<<12;

    }
    میشه علت اجرا نشدن کد من ببینید ممنون. میکرو stm32f107 بر روی پورت ي پایه ۱۲ که ریمپ شده است میباشد ممنون میشم کمک کنید.
    میشه علت اجرا نشدن کد من ببینید ممنون. میکرو stm32f107 بر روی پورت ي پایه ۱۲ که ریمپ شده است میباشد ممنون میشم کمک کنید.

صفحه 1 از 6 123456 آخرینآخرین

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

  1. آموزش رباتیک مقدماتی برای دانش آموزان
    توسط saeid1989 در انجمن مفاهیم اولیه در رباتیک
    پاسخ: 1
    آخرين نوشته: 11-05-2018, 09:53
  2. stm32f10x_cl.h تفاوتش با Stm32f10x.h
    توسط amiroruji72 در انجمن میکرو کنترلر های 32 بیتی(arm)
    پاسخ: 6
    آخرين نوشته: 10-04-2017, 18:51
  3. پاسخ: 2
    آخرين نوشته: 20-04-2014, 00:14
  4. نحوه راه اندازی sim900 با stm32f10X
    توسط Greatal در انجمن ماژول ها و دستگاه های مخابراتی
    پاسخ: 7
    آخرين نوشته: 06-03-2014, 01:15
  5. آموزش مقدماتی رباتیک در دو بخش مک
    توسط ROBOMAN در انجمن مفاهیم اولیه در رباتیک
    پاسخ: 0
    آخرين نوشته: 05-04-2009, 11:57

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

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