آموزش میکروکنترلر STM32 قسمت اول: نرم افزار CubeMx

آموزش میکروکنترلر STM32 قسمت اول: نرم افزار CubeMx

آموزش میکروکنترلر STM32 قسمت اول: نرم افزار CubeMx
آموزش میکروکنترلر STM32 قسمت اول: نرم افزار CubeMx

سلام دوستان به امید خدا به واسطه سیسوگ سعی داریم به آموزش کاربردی میکروکنترلر های سری STM32 داری هسته پردازنده ARM ؛ در محیط نرم افزارهای CubeMx و keil بپردازیم.

ابتدا باید بیان کنم که، وقتی من بعد از مدتی برای انجام یک سری پروژه نسبتاً سنگین و پیچیده از میکروهای STM32 خصوصاً خانواده های CORTEXM0 , M3 و محیط CUBEMX استفاده کردم ، توانستم تجربیات تقریباً زیادی در چگونگی کار کردن با ادوات مختلف این میکروکنترلر ها و چگونگی برنامه نویسی با استفاده از کتابخانه HAL بدون اینکه برنامه بعد از مدتی هنگ کند بدست بیاورم. لازم دیدم  این تجربیات را از طریق سیسوگ در اختیار علاقمندان الکترونیک قرار دهم.

یکی از دلایلی که ما سعی می‌کنیم تأکید زیادی روی سری Cortex-M3 و Cortex-M0 داشته باشیم این هست که وقتی شما دوستان وارد بازار کار تولید مدارات میکروکنترولر ی می‌شوید قیمت قطعات اولویت ها را تعیین می‌کند، به عنوان مثال میکروکنترلر STM32F030F4P6 را با حدود قیمت 3000 تومان (در هنگام نگارش این مقاله) و میکروکنترلر STM32F030C8T6 را با قیمت حدود 5000 تومان(در هنگام نگارش این مقاله) و همچنین میکرو STM32F103C8T6 را با قیمت حدود 7000 تومان(در هنگام نگارش این مقاله) می توانید تهیه کنید؛ چنین قیمت های برای یک پردازنده قدرتمند 32 بیتی ARM واقعا اقتصادی است که البته خیلی به نسبت میکروکنترلرهای 8 بیتی AVR  و PIC  مناسب‌تر بشمار می‌آیند. البته این نکته ناگفته نماند که آموزش بعضی قسمتها تنها به خانواده Ccortex-M4 به بالا اختصاص خواهد داشت. معمولا پردازنده های ARM ، از توان مصرفی پایینی برخوردار هستند که آنها را بسیار پر کاربرد کرده است مخصوصا در دستگاه های همراه.

اغلب گوشی های موبایل امروزه از پردازه ARM استفاده می‌کنند، معمولا پردازنده ARM به صورت هسته ارائه می شود و شرکت های تولید کننده Chip آنها را به صورت پردازنده و میکروکنترلر ارائه می کنند ، شرکت ST نیز از این قائده جدا نیست دست به تولید میکروکنترلرهای بسیار اقتصادی با هسته ARM کرده است.

در این سری از آموزش ها سعی می‌کنیم تا جایی که ممکن است از دستورات کتابخانه HAL ، برای بالا رفتن کیفیت کد(سرعت اجرا و حجم مورد استفاده) استفاده نکنیم و همچنین با نقطه ضعف های این کتابخانه و طریقه برطرف کردن آن آشنا شویم. در کنار آن شیوه برنامه نویسی بهینه را آموزش دهیم همچنین تلاش می‌کنیم تا آنجا که امکان دارد تمام قسمت های cubemx و میکروکنترلر را آموزش دهیم بدین منظور از قسمت های ساده مثل GPIO و وقفه خارجی شروع می‌کنیم تا آموزش‌های رابط های سریال مثل UART و I2C و SPI و بخصوص قسمت های پیشرفته‌تر مثل رابط سریال CAN و رابط USB در مدهای مختلف و البته مقداری هم آموزش ارتباط رابط USB بخصوص در مد HID با نرم افزار ویژوال استودیو.

همچنین در ادامه رابط اترنت و قسمت های مختلف تایمرها و کار با مبدل آنالوگ به دیجیتال و دیجیتال به آنالوگ و کار با حافظه های جانبی و خیلی قسمت های دیگر میکروکنترولر را توضیح می‌دهیم.

و برای کامل تر شدن آموزش به بررسی سیستم عامل FreeRtos  و چگونگی راه اندازی آن از طریق نرم افزار cubemx خواهیم پرداخت. فقط توجه داشته باشید که خیلی از قسمت های میکروکنترلر مثل رابط های سریال مدهای مختلفی برای راه اندازی دارند که آموزش آنها را طولانی می‌کند و ممکن است تمام جزئیات یک قسمت از میکرو را نتوان در یک سری آموزشی ارائه کرد که به مرور در قسمت های جداگانه به آنها خواهیم برداخت. نکته مهم اینکه ممکن است خیلی نکته‌ها در مورد برنامه نویسی و تنظیمات در آموزش‌ها ذکر شود که بدلیل جلوگیری از اتلاف وقت در آموزش‌های بعد بیان نگردد به همین علت لازم است گام به گام همراه با سیسوگ آموزش ها را دنبال کنید.

 

شروع آموزش میکروکنترلر STM32 و GPIO

آموزش را با رابط GPIO شروع می‌کنیم. در این آموزش تصمیم داریم از میکروکنترلر STM32 F 103C8T6 استفاده کنیم. از آنجا که سری‌های Cortex-M0 ,  Cortex-M3 مشابه هستند آنها را به صورت جداگانه بررسی نمی‌کنیم.

طبق تصویر زیر نرم افزار CubeMX را باز میکنیم و سپس گزینه NEW PROJECT را انتخاب می‌کنیم و سپس از آن لیست میکروکنترلر مورد نظرمان را انتخاب می‌کنیم:

 

محیط نرم افزار CubeMx برای میکروکنترلر STM32

 

 

انتخاب میکروکنترلر STM32 در نرم افزار CubeMX

 

بعد از انتخاب میکروکنترلر صفحه زیر به نمایش در می‌آید:

محیط ویرایش میکروکنترلر ARM در نرم افزار CubeMX

 

که قسمت سمت چپ “محل انتخاب و ویرایش پرفال‌های میکروکنترلر” و سمت راست  “محل ویرایش و انتخاب عملکرد پایه های میکروکنترلر” است.

اولین کاری که باید انجام دهیم مشخص کردن کلاک STM32 است. در زبانه Pinout گزینه RCC را انتخاب می‌کنیم توجه داشته باشید در حالت عادی تنظیمات کلاک میکروکنترلر روی گزینه HSI یا همان کلاک سریع داخلی با فرکانس 8 مگاهرتز تنظیم شده است ما در این پروژه می‌خواهیم از کریستال خارجی استفاده کنیم بنابراین طبق تصویر زیر گزینه Crystal را انتخاب می‌کنیم:

 

حال به صفحه Clock Configuration می‌رویم تا توسط ضرب و تقسیم کننده‌ها(واحد PLL) فرکانس را روی حداکثر فرکانس این میکروکنترلر یعنی 72 مگاهرتز قرار دهیم.

Input Frequeny: محل انتخاب فرکانس کریستال خارجی

HSE:  انتخاب کلاک سریع خارجی

PLLCLK: انتخاب خروجی ضرب کننده

 

حال دوباره به صفحه Pinout برمی‌گردیم و نوع پروگرامر و دیباگر را تنظیم می‌کنیم و همچنین  تأخیر مورد استفاده در برنامه را دقیقا طبق عکس زیر تنظیم می‌کنیم:

حال پین A9 میکرو را طبق عکس زیر به خروجی  تبدیل میکنیم:

با کلیلک راست روی پین، طبق عکس های زیر  نام مستعار LED را برای آن انتخاب می‌کنیم:

 

و در ادامه پین A15 را هم به عنوان ورودی تعریف می‌کنیم و برای آن نام مستعار BUTTON را انتخاب می‌کنیم:

 

چطور می توانیم پایه ورودی پول آپ یا پول دان کنیم؟

برای اینکار باید به صفحه Configuration برویم و گزینه GPIO را طبق عکس زیر انتخاب کنیم تا صفحه مربوط به تنظیمات آن باز شود:

 

انتخاب PullUp یک پایه در CubeMx

GPIO Pull-up/Pull-down: محل انتخاب مقاومت داخلی پول آپ یا پول دان برای پین ورودی

همانطور که در تصویر می‌بینید در این صفحه جزئیات همه پین‌های مورد استفاده  اعم از ورودی و خروجی قابل ویرایش است ما در اینجا پایه مورد نظر  را انتخاب می‌کنیم و طبق تصویر بالا تنظیمات را روی آن اعمال میکنیم حال برای تنظیم مشخصات پین خروجی هم بمانند عکس زیر آن را انتخاب می‌کنیم و گزینه مورد نظر را انتخاب و ویرایش می‌کنیم:

  1. GPIO output level: سطح صفر یا یک بودن خروجی در هنگام پیکره بندی اولیه
  2. GPIO mode: پوش پول و یا اپن کلکتور بودن پایه خروجی
  3. Maximum output speed: حداکثر سرعت این پین
  4. برچسب این پین

در نهایت به صفحه Pinout برمی‌گردیم، حالا باید تنظیمات پایه های میکرو را به شکل زیر داشته باشیم. در این مرحله پروژه خود را ذخیره می‌کنیم:

 

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

 

حمایت از مهدی عبدالهی

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

1 نفر

پــــســنــدیـده انـد

توجه

مهدی عبدالهی
مهدی عبدالهی

کانال میکروالکترونیک @microstm32

دیدگاه ها

39 دیدگاه

  • محمدرضا ادیب
    محمدرضا
    ۱۹ اسفند ۱۳۹۹

    سلام
    در رابطه با Maximum output speed نکته عملی یا تجربه ای دارید که ذکر کنید؟ من داخل اینترنت اینو پیدا کردم:

    If you select GPIO pin as low speed, that is if the speed register is 00, then the maximum achievable switching frequency of that GPIO pin will be 8MHz. For medium speed, then the maximum frequency is up to 50MHz. For maximum high-speed frequency up to 100MHz. For very high-speed maximum switching frequency up to 180Mhz.

    By increasing the GPIO speed, you increase the rate of change of the output voltage (reducing rise time). However, power consumption and noise radiated by the circuit increases along with the GPIO speed. By default, you should keep GPIO speed low unless there is a specific reason for increasing it.

    • کامین جلیلی
      ۲۲ فروردین ۱۴۰۰

      سلام محمدرضا. این اطلاعات در دیتاشیت قطعه ذکر شده و قابل تنظیم هم هست.

  • مرادی
    ۱۰ اردیبهشت ۱۳۹۹

    با سلام من میخوام یه مبدل آنالوگ به دیجیتال رو برنامه نویسی کنم با میکرو کنترلرstm32f407vgt6 ولی سرعت خواندن پایین است در واقع سنسور لغزشی میباشد که به کند خوانده میشود اگه بتونید راهنمایی کنید که من بتونم با حداکثر سرعت بخونم ممنون میشم

    • Zeus ‌
      زئوس Zeus
      ۱۳ اردیبهشت ۱۳۹۹

      سلام دوست عزیز
      فکر میکنم منظورتون از کند بودن اینه که سرعت نمونه گیری پایین است.
      خوب بذارید اول چند تا سوال از شما بپرسم – چطور از adc استفاده می کنید ؟ (چطور و با چه کدی نمونه ها رو میخونید)
      دوم این که چه سرعت نمونه برداری ای مد نظر شماست ؟

  • امین
    ۳۱ فروردین ۱۳۹۹

    سلام
    ضمن تشکر از زحمات شما و آموزش های خوبتون
    می خواستم بپرسم چه جوری میکرو STM32 را قفل کنیم!

    • Zeus ‌
      زئوس Zeus
      ۱ اردیبهشت ۱۳۹۹

      برای این کار دو راه وجود داره
      اول این که با استفاده از پروگرامر سکتورهای برنامه رو غیر قابل خواندن کنید.
      راه دوم هم همین امکان با برنامه نویسی وجود داره

  • صفا
    ۱۸ بهمن ۱۳۹۸

    با سلام خدمت شما بنده میخواستم arm رو تازه شروع کنم و زیاد هم با برنامه سی آشنایی ندارم(بیسیک کار میکردم)میخوام از سایت خوب شما جهت شروع و یادگیری استفاده کنم به نظرتون از کدام برد آموزشی stm32 تهیه کنم جهت استارت یادگیری.ممنون میشم منو راهنمایی کنید .

    • Zeus ‌
      زئوس Zeus
      ۱۰ اسفند ۱۳۹۸

      ببینید بردی خوبه که تمام io های میکروکنترلر رو در اختیارتون قرار بده هر بردی که چنین ویژگی رو داشته باشه اوکیه
      حتی میتونید برد رو خودتون بسازید – ما pcb یه برد متن باز رو روی سایت قرار دادیم
      دانلود رایگان PCB BluePill

  • سیاوش
    ۲۳ شهریور ۱۳۹۸

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

    بنده با استفاده از STM32CubeMX 5.3.0 و KEIL 5.27.1.0 سعی در ایجاد پروژه شما کردم.
    در بخش Clock Configuration در زمان تنظین PLLMul به X9 با خطا مواجه میشوم. حداکثر ضریب ممکن X4 است که نهایت سرعت به 32 میرسد.

    البته خاطرنشان میکنم که برنامه بدون اتصال هرگونه سخت افزار و صرفاً جهت آشنایی با محیط کار می باشد.

    • سیاوش
      ۲۷ شهریور ۱۳۹۸

      خودم پیداش کردم.
      شرمنده که دیر به دیر جواب میدین.
      متاسفم که مصدع اوقات شریفتون شدم.

      • Phoenix
        ۲۷ شهریور ۱۳۹۸

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

        ضمنا اگر درست متوجه شده باشم فکر کنم مشکل‌تان به این موضوع بر می‌گردد که ضرائب را جوری تنظیم کردید که کلاک بخشی از میکرو از حداکثر کلاک مجاز، تجاوز کرده است.

  • نگار
    ۱۴ مرداد ۱۳۹۸

    سلام اموزشstm32.f1 میشه ورژن بزنامه های استفاده شده رو بگین برای من همkeilهم cubemx محیطش خ متفاوت هست

    • Nasim Hematian
      electronic girl
      ۱۴ مرداد ۱۳۹۸

      سلام دوست عزیز
      از ورژن STM32CubeMX 4.26.0 استفاده شده.
      موفق باشید.

  • علی
    ۵ خرداد ۱۳۹۸

    سلام
    من کتابخانه nrf24l01 دارم البته با کدویژن
    خواستم اون رو تبدیل به stm کنم که بلد نیستم
    چند روزه دنبال یه کتابخانه برای stm32f0 می گردم ولی من سوادم قد نمیده
    شما یه کتابخانه در این زمینه دارید؟؟؟

    • Zeus ‌
      زئوس Zeus
      ۹ خرداد ۱۳۹۸

      سلام دوست عزیز میتونید از کتابخانه زیر استفاده کنید که برای stm32 نوشته شده است والبته با استفاده از توابع hal
      https://github.com/r2aiv/NRF24L01-1

  • mahdijn
    ۲۸ اسفند ۱۳۹۷

    با تشکر از اینکه حوصله به خرج می دید و جواب می دید
    من یه مشکلی توی کار با پروگرامر دارم. سری stm32f100 که به st-link وصل می کنم، یکی دو بار وصل میشه، بعد دیگه پروگرامر آی سی رو پیدا نمی کنه!
    8 تا آی سی هم حیف کردم
    این مشکل رو با stm32f051 ندارم
    ممنون می شم راهنمایی کنید

    • Zeus ‌
      زئوس Zeus
      ۱۱ فروردین ۱۳۹۸

      چه پایه هایی از میکروکنترلر رو به پروگرامر متصل میکنید ؟ آیا پایه Reset رو هم متصل میکنید ؟

      • mahdijn
        ۱۲ فروردین ۱۳۹۸

        از طریق swd پروگرام کردم
        بعد از قفل شدن پایه ریست هم وصل کردم فایده نکرد
        ممکنه به خاطر فعال نکردن دیباگ توی cubemx باشه؟

        • Zeus ‌
          زئوس Zeus
          ۱۹ فروردین ۱۳۹۸

          ببینید توی STM چند مرحله قفل وجود داره ؛ ولی همه اونا با اتصال پایه ریست و انتخاب حالت Connect Under Reset میتونید میکرو رو پاک کنید و از حالت قفل خارج کنید.
          از اون میتونه باشه ولی در نهایت با Erase میکرو این مشکل رو برطرف کنید.

  • سجاد
    ۲۰ اسفند ۱۳۹۷

    سلام. میخواستم کتابهایی ( انگلیسی یا فارسی ) در زمینه آموزش stm32 با hal بهم معرفی کنید.
    ممنون

    • Zeus ‌
      زئوس Zeus
      ۲۱ اسفند ۱۳۹۷

      امم والا بهترین مرجعی که من الان میشناسم یوزمنوال های خود شرکت ST هست که به خوبی توضیح داده.

  • حامد
    ۱۲ اسفند ۱۳۹۷

    درود
    لطفا در مورد میکروی stm32f373 هم آموزش بذارید. چون آموزش فارسی نداره

    • Nasim Hematian
      electronic girl
      ۱۲ اسفند ۱۳۹۷

      سلام دوست عزیز
      شماره های مختلف میکروکنترلرهای STM32 هماهنگ هستند و این سری آموزش ها را میتونید برای هر شماره میکروکنترلری که مورد نظرتون هست استفاده کنین.
      موفق باشید.

  • حامد
    ۷ اسفند ۱۳۹۷

    سلام
    میخام کار با STM رو شروع کنم و فقط از لینوکس استفاده میکنم
    میشه بگید از چه پروگرامر و کامپایلری استفاده کنم؟

    • Zeus ‌
      زئوس Zeus
      ۸ اسفند ۱۳۹۷

      سلام
      خوب لینوکس که حرف نداره ؛ من از GCC استفاده میکنم و فکر میکنم بهترین گزینه موجود حتی توی ویندوزم همون GCC باشه ؛ و برای پروگرامر هم میتونید از OpenOCD استفاده کنید که تقریبا تمام پروگرامرهای موجود رو پشتیبانی میکنه
      البته هم ST و j-Link نرم افزار تحت لینوکس هم دارند.
      ویرابشگر هم که Eclipse علیه سلام بهترین انتخابه 🙂

  • علی
    ۲۵ دی ۱۳۹۷

    سلام برای برنامه نویسی stm باید از نرم افزار cube استفاده کنیم یا keil ؟

    • Nasim Hematian
      electronic girl
      ۲۵ دی ۱۳۹۷

      سلام دوست عزیز
      در واقع نرم‌افزار CubeMX ابزار کمکی ای هست که میتونین به راحتی پایه‌های GPIO و دیگر تنظیمات مثل وقفه و … را به راحتی و بدون نوشتن برنامه تنظیم کنید و سپس این تنظیمات را به نرم‌افزار Keil انتقال بدین ولی استفاده از این نرم‌افزار ضرورتی نداره بلکه فقط روال برنامه‌نویسی را راحتتر میکنه. برنامه اصلی در نرم‌افزار Keil نوشته میشه و میتونین بدون استفاده از CubeMX تمام تنظیمات را به صورت دستی کدنویسی کنید.

  • محمود
    ۲۰ آذر ۱۳۹۷

    مرسی از مطالب خوبتون

    • Zeus ‌
      زئوس Zeus
      ۲۰ آذر ۱۳۹۷

      خواهش میکنم دوست عزیز

  • Rasoul Moezi
    rasoul moezi
    ۱ مهر ۱۳۹۷

    سلام بسیار عالی و کامل توضیح دادید، مرسی بخاطر این دوره اموزشی??

    • Nasim Hematian
      electronic girl
      ۱ مهر ۱۳۹۷

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

  • سید امیر
    ۷ شهریور ۱۳۹۷

    عالی… من مدتی روی میکرو های LPC وقت گذاشتم ولی متاسفانه تنوع خیلی کمی داره و قیمت بالایی دارند.. بعد از اون با stm آشنا شدم که هم تنوع بسیاری بالایی داره و هم قیمت بسیار مناسبی داره.
    تازه دارم stm را شروع میکنم و فکر میکنم آموزش ها شما به من خیلی کمک کنه..
    متشکر

    • Zeus ‌
      زئوس Zeus
      ۸ شهریور ۱۳۹۷

      سلام دوست عزیز ، تمام سعی ما ایجاد بستر مناسب برای یادگیری الکترونیک به صورت رایگان و متن باز هست و همراهی دوستان در این مسیر باعث خوشحالی و دلگرمی ما است
      بسیار عالی – البته میکروکنترلر های NXP واقعا عالی هستند ولی بله به دلیل عدم استقبال و البته قیمت بالاتر نسبت به st با استقبال کاربر های ایرانی قرار نگرفته

  • Amir
    ۱۶ تیر ۱۳۹۷

    سلام
    من نمیدونم چرا هر کس که این آموزش رو شروع میکنه بعدش دیگه ادامه نمیده !!!!
    همین مباحث ساده رو میگن بعد از 3-4 جلسه دیگه ادامه نمیدن !!
    سایت های این چنینی زیاده !!
    امیدوارم سایت شما اینجوری نباشه …. و مباحث مهمتری هم آموزش بده مثل ADC و اترنت و …
    ممنون از سایت خوب و باحال و جذاب سیسوگ
    و ممنون از اساتید گرامی

    • Zeus ‌
      زئوس Zeus
      ۱۶ تیر ۱۳۹۷

      سلام و درود دوست عزیز
      فعلا 6 قسمت از این مقالات آماده شده که به تدریج منتشر خواهیم کرد.

  • محمد
    ۱۳ تیر ۱۳۹۷

    سلام بی صبرانه منتظر اموزش میکروکنترلرهای stm8 و stm32 هستیم ..
    در رابطه با برنامه نویسی برای میکرو کنترلرها بااستفاده از gcc/gnu هم اموزشی ترتیب بدید ممنون میشم ..
    امیدوارم همینجور پرقدرت ادامه بدید

    • Zeus ‌
      زئوس Zeus
      ۱۳ تیر ۱۳۹۷

      سعی می‌کنیم هر روز یک مطلب در خصوص این آموزش ها منتشر کنیم
      این بحث رو حتما در دستور کار قرار می‌دهیم که با استفاده از ابزار متن باز Gcc آموزش قرار دهیم.
      انشالله

  • علی
    ۱۳ تیر ۱۳۹۷

    بسیار عالی
    در انتظار قسمت های دیگر

    • Zeus ‌
      زئوس Zeus
      ۱۳ تیر ۱۳۹۷

      متشکر دوست عزیز
      انشالله ، منتظر قسمت های هیجان انگیز دیگه باشید 🙂

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 10 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

کار با ماژول تمام عیار mc60 – قسمت دوم – راه اندازی OpenCPU

در قسمت اول به یکسری اطلاعات کلی ماژول mc60 پرداختیم، با نرم افزار QNavigator کار کردیم و یک هدربرد هم برای کار...

Mahdi.h   Mahdi.h  
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک