فــــهرســـت
مرجع الکترونیک
آموزش الکترونیک از مقدماتی تا پیشرفته
  • Jesse Faden سه شنبه چهارم شهریور 1399 15:45 نظرات ()
    ذخیره برنامه در حافظه فلش در Atmel Studio

    بسیاری از برنامه ها از SRAM استفاده می کنند، که در آن می‌توانید داده ها را قبل از پایان Flash ذخیره کنید. متغیرهای ثابت سراسری، جداول یا آرایه‌هایی که هرگز تغییر نمی‌کنند، معمولاً باید به یک بخش فقط خواندنی (Flash یا EEPROM در AVR  ۸ بیتی) اختصاص داده شوند. به این ترتیب، می‌توانیم فضای پر ارزش SRAM را نگه داریم.

    در این مثال، ما از کلید واژه "const" استفاده نمی‌کنیم. تعریف یک شیء "const" اعلام می‌کند که مقدار آن تغییر نخواهد کرد. "const" برای گفتن به کامپایلر استفاده می شود که داده ها باید "فقط خواندنی" باشند و دستیافت‌های بهینه سازی را افزایش می‌دهد. مشخص نمی کند که داده ها در چه مکانی باید ذخیره شوند.

    برای اختصاص داده ها به فضای برنامه (فقط خواندنی) و بازیابی آن‌ها از فضای برنامه، AVR-Libc یک ماکرو ساده "PROGMEM" و یک ماکرو "pgm_read_byte" ارایه می‌دهد. ماکرو "PROGMEM" و ماکرو "pgm_read_byte" در پرونده هدر سیستم "<avr / pgmspace.h>" تعریف شده اند.

    جدول زیر نحوه ذخیره SRAM با انتقال رشته سراسری به فضای برنامه را نشان می دهد.

    جدول ۱. نمونه ثابت در فضای برنامه
    Constants در فضای دادهConstants در فضای برنامه
    برنامه C 
    #include <avr/io.h>
    uint8_t string[12] = {"hello world!"};
    int main(void)
    {
    UDR0 = string[10];
    }
    #include <avr/io.h>
    #include <avr/pgmspace.h>
    uint8_t string[12] PROGMEM = {"hello world!"};
    int main(void)
    {
    UDR0 = pgm_read_byte(&string[10]);
    }
    استفاده از حافظه AVR

    Program: 122 bytes (1.5% Full)

    (.text + .data + .bootloader)

    Data: 12 bytes (1.2% Full)

    (.data + .bss + .noinit)

    Program: 102 bytes (1.2% Full)

    (.text + .data + .bootloader)

    Data: 0 bytes (0.0% Full)

    (.data + .bss + .noinit)

    سطح بهینه سازی کامپایلر-Os (Optimize for size)-Os (Optimize for size)

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

    اگر داده‌های ذخیره شده در Flash چندین بار در کد استفاده می‌شوند، به جای استفاده از ماکرو "pgm_read_byte" به طور مستقیم چندین بار اندازه را کاهش می‌دهد.

    ماکروها و عملکردهای بیشتری در پرونده هدر سیستم "<avr / pgmspace.h>" برای ذخیره و بازیابی انواع مختلف داده به/از فضای برنامه وجود دارد. برای اطلاعات بیشتر به دفترچه راهنمای کاربر AVR-Libc مراجعه کنید.

    ویــــــرایش واپسیـــن: سه شنبه چهارم شهریور 1399 - 16:09
    ارســـــــال دیدگـــــــــاه
  • Jesse Faden سه شنبه بیست و هشتم مرداد 1399 04:00 نظرات ()
    کتابخانه راه اندازی LCD کاراکتری با I2C برای تراشه‌های AVR

    "این توابع مخصوص نرم‌افزار ATMEL Studio می‌باشد"

    خب این کتابخونه رو من از سایت "http://davidegironi.blogspot.it" دانلود کردم.

    یکم تغییرات بهش دادم تا بشه استفاده کرد.

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

    توانایی راه اندازی تا ۸ LCD همزمان را دارد.


    ویــــــرایش واپسیـــن: جمعه سی و یکم مرداد 1399 - 10:02
    ارســـــــال دیدگـــــــــاه
  • Jesse Faden سه شنبه شانزدهم اردیبهشت 1399 13:35 نظرات ()
    تغییر تم آردوینو

    اول از همه اینجا فایل مخصوص برای تغییر تم رو دانلود کنید که پس زمینه رو مشکی می‌کنه!

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



    خب تو این بخش من مسیر نصب رو مشخص کردم تنها کاری که شما باید انجام بدید انتخاب گزینه استخراج/Extract هست! 

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

    اینم پایان کار
    ویــــــرایش واپسیـــن: سه شنبه سی و یکم تیر 1399 - 13:44
    ارســـــــال دیدگـــــــــاه
  • Jesse Faden دوشنبه پانزدهم اردیبهشت 1399 18:47 نظرات ()
    کتابخانه تبدیل کد BCD به Binary در Atmel Studio


    ویــــــرایش واپسیـــن: سه شنبه بیست و هشتم مرداد 1399 - 04:27
    ارســـــــال دیدگـــــــــاه
  • Jesse Faden دوشنبه پانزدهم اردیبهشت 1399 17:19 نظرات ()
    توابع lcd در 7 Atmel Studio

    کتابخا درایور lcd در 7 Atmel Studio، کتابخانه درایور hd44780:
    کتابخانه توابع lcd (نوشته شده به دست PicPars.com):

    سپس فایل های بالا را به پروژه خود اضافه کنید، در نهایت از دستورات موجود در فایل های lcd.h یا hd44780.h در پروژه خود استفاده کنید.



    پیشنهاد:
    از این کتابخانه استفاده کنید، تنها با اتصال دو سیم می‌تواند حداکثر تا ۸ LCD را کنترل کنید.
    http://melectronics.ir/post/41
    ویــــــرایش واپسیـــن: سه شنبه بیست و هشتم مرداد 1399 - 04:30
    ارســـــــال دیدگـــــــــاه
شماره برگــــــــه: 5 1 2 3 4 5
شبکه اجتماعی فارسی کلوب | Buy Website Traffic | Buy Targeted Website Traffic