Forwarded from کدنیک | codenic
stm32f429.pdf
11.5 MB
آموزش و رفرنس کامل و جامع میکروهای
ARM-STM32
توابع HALوCmsis
دست نویسندشو باید بوسید 👌 که رایگان هم در سطح نت منتشر کردند بدون هیچ چشم داشت
کاملا عملی
از کانال پروژه رزبری
@techtronic
ARM-STM32
توابع HALوCmsis
دست نویسندشو باید بوسید 👌 که رایگان هم در سطح نت منتشر کردند بدون هیچ چشم داشت
کاملا عملی
از کانال پروژه رزبری
@techtronic
Forwarded from برق و الکترونیک *دانلود پروژه رایگان (MicroElectronic)
دانلود پی سی بی و شماتیک یک موبایل ساخته شده اماتور در گیت هاب
Cortex M4 STM32F429NI
FPGA EP4CE22U14I7N
800x480 LCD on RM68120 controller
Capasitive LG P715 touch screen
Memory (two SDRAM MT48LC16M16A2B4, MicroSD)
Audio system based on (WM8903, MP34DT01 dmic, headphone, ring, minijack)
Wi-Fi on ESP8266
GSM & Bluetooth in SIM800H, nanosim (galaxy s8 sim-sd slot)
Sensors (MPU9250, APDS-9960, BME280)
GPS MC-1010-G
OV5647 camera (Raspberry Pi compatible) & led
Power domain (galaxy s4 battery, TPS65217)
USB type-C for custom connections
https://github.com/orangeneko/redphone-pcb
Cortex M4 STM32F429NI
FPGA EP4CE22U14I7N
800x480 LCD on RM68120 controller
Capasitive LG P715 touch screen
Memory (two SDRAM MT48LC16M16A2B4, MicroSD)
Audio system based on (WM8903, MP34DT01 dmic, headphone, ring, minijack)
Wi-Fi on ESP8266
GSM & Bluetooth in SIM800H, nanosim (galaxy s8 sim-sd slot)
Sensors (MPU9250, APDS-9960, BME280)
GPS MC-1010-G
OV5647 camera (Raspberry Pi compatible) & led
Power domain (galaxy s4 battery, TPS65217)
USB type-C for custom connections
https://github.com/orangeneko/redphone-pcb
GitHub
GitHub - orangeneko/redphone-pcb: Simple handmade open source mobile phone
Simple handmade open source mobile phone. Contribute to orangeneko/redphone-pcb development by creating an account on GitHub.
Forwarded from کدنیک | codenic
↔️ تفاوت میکروکنترلرهای AVR با توجه به پسوند آن ها:
🔺بدون پسوند یا پسوندهای PU و PA و A دارای محدوده تغذیه 4.5 ولت تا 5.5 ولت و محدوده فرکانس 16MHz می باشند.
🔺پسوند L دارای محدوده تغذیه 2.7 ولت تا 5.5ولت و محدوده فرکانس 8MHz می باشند.
🔺پسوند V دارای محدوده تغذیه 1.8 ولت تا 5.5 ولت و محدوده فرکانس 4MHz می باشند.
☑️ آشنایی با فیوزبیت ها:
🔶فیوزبیتهاي CKSEL0، CKSEL1 ، CKSEL2 ، CKSEL3:
این فیوز بیتها منبع کلاک سیستم را تعیین می کنند. در واقع نوع کلاک سیستم مطابق جدول(فیوز بیت های mega16 ) تعیین می شود.
🔷فیوزبیت های SUT0 ، SUT1 :
این فیوز بیت ها سرعت ریست میکروكنترلر را مشخص می کنند. که طبق جدول برنامه ريزي مي شوند.
🔶فیوز بیت های BODEN و BODLEVEL:
فیوز بیتBODEN قابلیت Detection Brown –out آي سي را فعال می کند. این قابلیت بدین صورت است که اگر ولتاژ تغذیه آي سي از حدی پایین تر آيد، میکروReset می شود. این ولتاژاز طریق فیوز بیت BODLEVEL تعیین می شود
🔷فیوز بیت BOOTRST :
این فیوز بیت در صورت برنامه ریزی شدن آدرس بردار Reset را به ابتدای حافظه Boot انتقال می دهد.
🔶فیوز بیت هاي BOOTSZ0 و BOOTSZ1:
این فیوز بیتها برای تعیین اندازه و مکان شروع حافظه Boot بکار می روند که طبق جدول زیر تعیین می شود.
🔷فیوز بیت EESAVE:
اگر این فیوز بيت برنامه ریزی شود در هنگام Erase کردن، فقط حافظه Flash پاک مي شود و حافظه EEPROM آن ثابت باقي مي ماند.
🔶فیوز بیت CKOPT:
با برنامه ریزی کردن این فیوز بیت، خازنهای داخلی ميكرو با مقدار 36pf فعال مي شوند و دیگر نیازی به استفاده از خازنهای خارجی در روي كريستال نیست. همچنین با فعال کردن این فیوز بیت دامنه ولتاژ اسیلاتور چندين برابر مي شود.
🔷فیوز بیت JTAGEN :
اگر از رابط JTAG برای پروگرم کردن استفاده مي كنيد باید این فیوز بیت فعال شود. دقت داشته باشید که اگر این فیوز بیت فعال شده باشد دیگر قادر به استفاده از پورتی که بیت هاي JTAG برروی آن می باشد (مثلاً پورت C در ATmega16 ) نیستیم. به طور پیش فرض این فیوز بیت فعال می باشد و برای استفاده از پورت F باید این فیوز بیت را غیرفعال کنیم.
🔶فیوز بیت SPIEN:
اگر این فیوز بیت فعال باشد میکرو قابلیت اتصال پروگرمرهایی که با رابط SPI کار میکنند (به طور مثال پروگرمر STK200 ) را پیدا میکند.( در نرم افزار code vision و بسکام این فیوز بیت در اختیار کاربران قرار نمیگیرد)
🔷فیوز بیت OCDEN :
اگر این فیوز بیت فعال شود میکرو قابلیت debug شدن را پیدا می کند.
🔶فیوز بیت WDTON:
اکثر میکروکنترلرهای AVR دارای شمارنده Watchdog هستند که می توان آنها را به صورت نرم افزاری فعال یا غیر فعال کرد. اگر این فیوز بیت فعال شود شمارنده watchdog دائماً روشن خواهد بود.(شمارنده watchdog به منظوری برای کم کردن تاثیر نویز استفاده میشود. بدین صورت که با هر بار سر ریز شدن این شمارنده میکرو یکبار ریست میشود.)
🔷فیوز بیت M103C:
میکروکنترلرهایmega128 و mega103 شباهت های خیلی خیلی زیادی دارند ولی دارای اختلافات کوچکی نیز هستند که ما می توانیم با فعال کردن این فیوز بیت ، اختلافات موجود را نیز بر طرف کنیم تا این دو میکرو دقیقاً مانند هم کار کنند.
🕐 نحوه تنظیم کردن کلاک داخلی میکروکنترلرهای AVR:
درمیکروکنترلرهای AVR فیوز بیت هایی وجود دارد که از آن ها برای تنظیم کلاک داخلی میکروکنترلراستفاده می شود.
⏳اگرفیوز بیت های Ck3=0 Ck2=0 Ck1=0 Ck0=1 کلاک روی 1MHz و کریستال داخلی است.
⏳اگر فیوز بیت های Ck3=0 Ck2=0 Ck1=1 Ck0=0 کلاک روی 2MHz و کریستال داخلی است.
⏳اگرفیوز بیت های Ck3=0 Ck2=0 Ck1=1 Ck0=1 کلاک روی 4MHz وکریستال داخلی است.
⏳ اگرفیوز بیت های Ck3=0 Ck2=1 Ck1=0 Ck0=0 کلاک روی 8MHz و کریستال داخلی است.
⏳اگرفیوز بیت Ck3=0 Ck2=0 Ck1=0 Ck0=0 کلاک توسط کریستال خارجی تنظیم می شود.
#موج_یادگیری
#نکاتی_درباره_میکروکنترلر_های_AVR
@techtronic
🔺بدون پسوند یا پسوندهای PU و PA و A دارای محدوده تغذیه 4.5 ولت تا 5.5 ولت و محدوده فرکانس 16MHz می باشند.
🔺پسوند L دارای محدوده تغذیه 2.7 ولت تا 5.5ولت و محدوده فرکانس 8MHz می باشند.
🔺پسوند V دارای محدوده تغذیه 1.8 ولت تا 5.5 ولت و محدوده فرکانس 4MHz می باشند.
☑️ آشنایی با فیوزبیت ها:
🔶فیوزبیتهاي CKSEL0، CKSEL1 ، CKSEL2 ، CKSEL3:
این فیوز بیتها منبع کلاک سیستم را تعیین می کنند. در واقع نوع کلاک سیستم مطابق جدول(فیوز بیت های mega16 ) تعیین می شود.
🔷فیوزبیت های SUT0 ، SUT1 :
این فیوز بیت ها سرعت ریست میکروكنترلر را مشخص می کنند. که طبق جدول برنامه ريزي مي شوند.
🔶فیوز بیت های BODEN و BODLEVEL:
فیوز بیتBODEN قابلیت Detection Brown –out آي سي را فعال می کند. این قابلیت بدین صورت است که اگر ولتاژ تغذیه آي سي از حدی پایین تر آيد، میکروReset می شود. این ولتاژاز طریق فیوز بیت BODLEVEL تعیین می شود
🔷فیوز بیت BOOTRST :
این فیوز بیت در صورت برنامه ریزی شدن آدرس بردار Reset را به ابتدای حافظه Boot انتقال می دهد.
🔶فیوز بیت هاي BOOTSZ0 و BOOTSZ1:
این فیوز بیتها برای تعیین اندازه و مکان شروع حافظه Boot بکار می روند که طبق جدول زیر تعیین می شود.
🔷فیوز بیت EESAVE:
اگر این فیوز بيت برنامه ریزی شود در هنگام Erase کردن، فقط حافظه Flash پاک مي شود و حافظه EEPROM آن ثابت باقي مي ماند.
🔶فیوز بیت CKOPT:
با برنامه ریزی کردن این فیوز بیت، خازنهای داخلی ميكرو با مقدار 36pf فعال مي شوند و دیگر نیازی به استفاده از خازنهای خارجی در روي كريستال نیست. همچنین با فعال کردن این فیوز بیت دامنه ولتاژ اسیلاتور چندين برابر مي شود.
🔷فیوز بیت JTAGEN :
اگر از رابط JTAG برای پروگرم کردن استفاده مي كنيد باید این فیوز بیت فعال شود. دقت داشته باشید که اگر این فیوز بیت فعال شده باشد دیگر قادر به استفاده از پورتی که بیت هاي JTAG برروی آن می باشد (مثلاً پورت C در ATmega16 ) نیستیم. به طور پیش فرض این فیوز بیت فعال می باشد و برای استفاده از پورت F باید این فیوز بیت را غیرفعال کنیم.
🔶فیوز بیت SPIEN:
اگر این فیوز بیت فعال باشد میکرو قابلیت اتصال پروگرمرهایی که با رابط SPI کار میکنند (به طور مثال پروگرمر STK200 ) را پیدا میکند.( در نرم افزار code vision و بسکام این فیوز بیت در اختیار کاربران قرار نمیگیرد)
🔷فیوز بیت OCDEN :
اگر این فیوز بیت فعال شود میکرو قابلیت debug شدن را پیدا می کند.
🔶فیوز بیت WDTON:
اکثر میکروکنترلرهای AVR دارای شمارنده Watchdog هستند که می توان آنها را به صورت نرم افزاری فعال یا غیر فعال کرد. اگر این فیوز بیت فعال شود شمارنده watchdog دائماً روشن خواهد بود.(شمارنده watchdog به منظوری برای کم کردن تاثیر نویز استفاده میشود. بدین صورت که با هر بار سر ریز شدن این شمارنده میکرو یکبار ریست میشود.)
🔷فیوز بیت M103C:
میکروکنترلرهایmega128 و mega103 شباهت های خیلی خیلی زیادی دارند ولی دارای اختلافات کوچکی نیز هستند که ما می توانیم با فعال کردن این فیوز بیت ، اختلافات موجود را نیز بر طرف کنیم تا این دو میکرو دقیقاً مانند هم کار کنند.
🕐 نحوه تنظیم کردن کلاک داخلی میکروکنترلرهای AVR:
درمیکروکنترلرهای AVR فیوز بیت هایی وجود دارد که از آن ها برای تنظیم کلاک داخلی میکروکنترلراستفاده می شود.
⏳اگرفیوز بیت های Ck3=0 Ck2=0 Ck1=0 Ck0=1 کلاک روی 1MHz و کریستال داخلی است.
⏳اگر فیوز بیت های Ck3=0 Ck2=0 Ck1=1 Ck0=0 کلاک روی 2MHz و کریستال داخلی است.
⏳اگرفیوز بیت های Ck3=0 Ck2=0 Ck1=1 Ck0=1 کلاک روی 4MHz وکریستال داخلی است.
⏳ اگرفیوز بیت های Ck3=0 Ck2=1 Ck1=0 Ck0=0 کلاک روی 8MHz و کریستال داخلی است.
⏳اگرفیوز بیت Ck3=0 Ck2=0 Ck1=0 Ck0=0 کلاک توسط کریستال خارجی تنظیم می شود.
#موج_یادگیری
#نکاتی_درباره_میکروکنترلر_های_AVR
@techtronic
❤🔥1
Forwarded from کدنیک | codenic
stm32f429igt Rotary encoder.rar
552.8 KB
#پروژه_راه_اندازی راه اندازی روتاری انکدر با میکروی ST و کامپایلر Cube IDE
از طرف ادمین محترم گروه میکرو آرم
آقای آزاده
@omid_azadeh
💯کانال تکنولوژی الکترونیک
🆔️ @techtronic
🆔️ @group_micro_arm
از طرف ادمین محترم گروه میکرو آرم
آقای آزاده
@omid_azadeh
💯کانال تکنولوژی الکترونیک
🆔️ @techtronic
🆔️ @group_micro_arm
Forwarded from کدنیک | codenic
OSHWatch An open-source "smart watch"
پروژه کامل ساعت هوشمند اوپن سورس به همراس سورس آلتیوم و باقی متعلقات
#Watch #smart_watch
@OPENPCB : منبع
💯کانال تکنولوژی الکترونیک
🆔️ @techtronic
پروژه کامل ساعت هوشمند اوپن سورس به همراس سورس آلتیوم و باقی متعلقات
#Watch #smart_watch
@OPENPCB : منبع
💯کانال تکنولوژی الکترونیک
🆔️ @techtronic
Forwarded from کدنیک | codenic
OPENPCB_OSHWATCH.zip
2.1 MB
شماتیک و PCB آلتیوم به همرا فایل های مورد نیاز
@OPENPCB : منبع
💯کانال تکنولوژی الکترونیک
🆔️ @techtronic
@OPENPCB : منبع
💯کانال تکنولوژی الکترونیک
🆔️ @techtronic
Forwarded from Zetaboard (Mehdi Rahimi)
در زیر تکنیک هایی برای از بین بردن و یا به حداقل رساندن اثر کراس تالک در برد شما شرح داده شده است:
تا حد امکان هنگام مسیریابی سیگنالهای دیگر را از جفتهای تفاضلی دور نگهدارید،بر طبق یک حساب سرانگشتی این فاصله میتواند سه برابر پهنای ترک مورد نظر باشد.
تا حد امکان فاصله بین ترک های مربوط به کلاک با دیگر سیگنالها زیاد باشد این فاصله میتواند به طور تقریبی سه برابر پهنای ترک باشد اما اگر بیشتر هم باشد بهتر است.
اگر در بردتان مجموعه ای از زوجهای تفاضلی دارید فاصله هر کدام از جفت ها را زیاد در نظر بگیرید تقریبا این فاصله میتواند پنج برابر پهنای ترکهای مورد نظر باشد.
سیگنالهای اسنکرون مانند ریست و اینتراپت و ... را از باس ها و سیگنالهای فرکانس بالا دور نگهدارید یا میتوانید با دیگر سیگنال های روشن خاموش که کمتر در عملکرد عادی برد مورد استفاده قرار میگیرند مسیر کشی کنید.
حتما مطمئن شوید که اگر دو یا چند لایه سیگنال در استکاپ شما در مجاورت هم قرار میگیرند آنها را به صورت عمود برهم مسیر کشی کنید به زبان ساده تر این سیگنالهایی که احتمالا در چند لایه قرار گرفته اند و احتمال اثر گذاری بروی هم را دارند به موازات هم مسیر کشی نکنید.
بهترین راه حل برای کاهش مشکل بالا یا بورساید کوپل این است که شما بین این لایه های مجاور را با یک لایه پلن زمین پر کنید.که این پلن نه تنها فاصله لایه ها را از هم زیادتر میکند و اثر بردساید کوپل از بین میرود،بلکه با این زمین شما مسیر برگشتی موردنیاز دیگر سیگنال ها را تهیه کرده اید یا آنرا قویتر کرده اید.
با تشکر از مهندس ارمان اروند
تا حد امکان هنگام مسیریابی سیگنالهای دیگر را از جفتهای تفاضلی دور نگهدارید،بر طبق یک حساب سرانگشتی این فاصله میتواند سه برابر پهنای ترک مورد نظر باشد.
تا حد امکان فاصله بین ترک های مربوط به کلاک با دیگر سیگنالها زیاد باشد این فاصله میتواند به طور تقریبی سه برابر پهنای ترک باشد اما اگر بیشتر هم باشد بهتر است.
اگر در بردتان مجموعه ای از زوجهای تفاضلی دارید فاصله هر کدام از جفت ها را زیاد در نظر بگیرید تقریبا این فاصله میتواند پنج برابر پهنای ترکهای مورد نظر باشد.
سیگنالهای اسنکرون مانند ریست و اینتراپت و ... را از باس ها و سیگنالهای فرکانس بالا دور نگهدارید یا میتوانید با دیگر سیگنال های روشن خاموش که کمتر در عملکرد عادی برد مورد استفاده قرار میگیرند مسیر کشی کنید.
حتما مطمئن شوید که اگر دو یا چند لایه سیگنال در استکاپ شما در مجاورت هم قرار میگیرند آنها را به صورت عمود برهم مسیر کشی کنید به زبان ساده تر این سیگنالهایی که احتمالا در چند لایه قرار گرفته اند و احتمال اثر گذاری بروی هم را دارند به موازات هم مسیر کشی نکنید.
بهترین راه حل برای کاهش مشکل بالا یا بورساید کوپل این است که شما بین این لایه های مجاور را با یک لایه پلن زمین پر کنید.که این پلن نه تنها فاصله لایه ها را از هم زیادتر میکند و اثر بردساید کوپل از بین میرود،بلکه با این زمین شما مسیر برگشتی موردنیاز دیگر سیگنال ها را تهیه کرده اید یا آنرا قویتر کرده اید.
با تشکر از مهندس ارمان اروند
آموزش پروتکل spi و راه اندازی sd کارت با مد spi برای stm32
همراه با نمونه نمونه سورس برنامه
👇👇👇👇👇👇👇👇👇👇👇👇
💯کانال تکنولوژی الکترونیک
🆔 @techtronic
💯گروه تخصصی میکرو آرم
🆔 @group_micro_arm
همراه با نمونه نمونه سورس برنامه
👇👇👇👇👇👇👇👇👇👇👇👇
💯کانال تکنولوژی الکترونیک
🆔 @techtronic
💯گروه تخصصی میکرو آرم
🆔 @group_micro_arm
Forwarded from کدنیک | codenic
AVR - TempDS18b20+Time.rar
22.1 KB
دماسنج DS و تایمیر قابل تنظیم برگرفته از پروژه سایت مگا32
ارسال شده در گروه بسکام نویسان توسط ادمین محترم گروه
💯کانال تکنولوژی الکترونیک
🆔 @techtronic
ارسال شده در گروه بسکام نویسان توسط ادمین محترم گروه
💯کانال تکنولوژی الکترونیک
🆔 @techtronic
سلام تا به حال شده از دستور
printf (" Hello World/n")
استفاده کرده باشید و با n/ مشکلی داشته باشید یا ندونید چیه و یا میدونید چیکار میکنه اما با بقیه دستوراتش آشنا نباشید؟
به این نوع دستورات کنترلی
control sequence
یا
escape sequence
گفته میشه که میتونید با وارد شدن به لینک زیر تو سایت ویکی پدیا از اطلاعات بیشتری بهره ببرید.
این پست فقط جهت آشنایی با این نوع دستورات کنترلی بود و عکس بالا هم جدول دستورات Escape sequence رو نمایش میده.
امیدوارم این پست مفید واقع شده باشه.
🌐:https://en.wikipedia.org/wiki/Escape_sequences_in_C
💯کانال تکنولوژی الکترونیک
🆔 @techtronic
💯گروه تخصصی میکرو آرم
🆔 @group_micro_arm
printf (" Hello World/n")
استفاده کرده باشید و با n/ مشکلی داشته باشید یا ندونید چیه و یا میدونید چیکار میکنه اما با بقیه دستوراتش آشنا نباشید؟
به این نوع دستورات کنترلی
control sequence
یا
escape sequence
گفته میشه که میتونید با وارد شدن به لینک زیر تو سایت ویکی پدیا از اطلاعات بیشتری بهره ببرید.
این پست فقط جهت آشنایی با این نوع دستورات کنترلی بود و عکس بالا هم جدول دستورات Escape sequence رو نمایش میده.
امیدوارم این پست مفید واقع شده باشه.
🌐:https://en.wikipedia.org/wiki/Escape_sequences_in_C
💯کانال تکنولوژی الکترونیک
🆔 @techtronic
💯گروه تخصصی میکرو آرم
🆔 @group_micro_arm
کدنیک | codenic
سلام تا به حال شده از دستور printf (" Hello World/n") استفاده کرده باشید و با n/ مشکلی داشته باشید یا ندونید چیه و یا میدونید چیکار میکنه اما با بقیه دستوراتش آشنا نباشید؟ به این نوع دستورات کنترلی control sequence یا escape sequence گفته میشه که میتونید…
مطالب کانال رو برای دوستاتون فروارد کنید.🌹
ممنون از همراهیتون🙏🏻🌹
ممنون از همراهیتون🙏🏻🌹
#نکته #سوال #c
با توجه به برنامه بالا به نظر شما خروجی پرینت گرفته شده از متغییر های a1,a2,b1,b2 کدام یک از موارد زیر است ؟
(1) a1 = 11, b1 = 10
a2 = 11, b2 = 11 (1)
👍👍14%
(2) a1 = 11, b1 = 10
a2 = 11, b2 = 10 (1)
👍👍14%
(3) a1 = 11, b1 = 11
a2 = 11, b2 = 10 (5)
👍👍👍👍👍👍👍👍71%
(4) a1 = 10, b1 = 10
a2 = 10, b2 = 11
▫️0%
🕴 تعدادکل رای ها: 7
با توجه به برنامه بالا به نظر شما خروجی پرینت گرفته شده از متغییر های a1,a2,b1,b2 کدام یک از موارد زیر است ؟
(1) a1 = 11, b1 = 10
a2 = 11, b2 = 11 (1)
👍👍14%
(2) a1 = 11, b1 = 10
a2 = 11, b2 = 10 (1)
👍👍14%
(3) a1 = 11, b1 = 11
a2 = 11, b2 = 10 (5)
👍👍👍👍👍👍👍👍71%
(4) a1 = 10, b1 = 10
a2 = 10, b2 = 11
▫️0%
🕴 تعدادکل رای ها: 7
👍1
#جواب
جواب درست گزینه سوم
(3)
a1 = 11, b1 = 11
a2 = 11, b2 = 10
در عملیات اول ابتدا به متغییر a1 یک واحد اضافه شده و در متغییر b1 ریخته میشود
اما در عملیات دوم ابتدا مقدار متغییر a2 در متغییر b2 ریخته میشود و سپس یک واحد به a2 اضافی میشود یعنی قبل از این که یک واحد به متغییر a2 اضافی شود مقدار a2 در متغییر b2 قرار گرفته است.
💯کانال تکنولوژی الکترونیک
🆔 @techtronic
💯گروه تخصصی میکرو آرم
🆔 @group_micro_arm
جواب درست گزینه سوم
(3)
a1 = 11, b1 = 11
a2 = 11, b2 = 10
در عملیات اول ابتدا به متغییر a1 یک واحد اضافه شده و در متغییر b1 ریخته میشود
اما در عملیات دوم ابتدا مقدار متغییر a2 در متغییر b2 ریخته میشود و سپس یک واحد به a2 اضافی میشود یعنی قبل از این که یک واحد به متغییر a2 اضافی شود مقدار a2 در متغییر b2 قرار گرفته است.
💯کانال تکنولوژی الکترونیک
🆔 @techtronic
💯گروه تخصصی میکرو آرم
🆔 @group_micro_arm