اطلاعیه

Collapse
No announcement yet.

کوچ کردن از کدویژن به AtmelStudio

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    پاسخ : کوچ کردن از کدویژن به AtmelStudio

    نوشته اصلی توسط PPED
    سلام دوستان خوبم
    من تابحال AVR رو با بسکام کار میکردم و الان میخوام C یاد بگیرم و با اتمل استودیو 6.1کار کنم.
    جزوه یا منبع و.... وجود داره بهم معرفی کنید
    شما برای کار با اتمل استدیو به ۲ چیز نیاز اساسی داری.

    ۱- تسلط نسبی به C
    ۲- دونستن مفهوم رجیستر و امور مربوط بهش

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

    http://maxembedded.com/

    دیدگاه


      پاسخ : کوچ کردن از کدویژن به AtmelStudio

      دوستان سلام :wow:

      منم میخوام کوچ کنم :biggrin:

      راستشو بخواین اتمل استادیو خیلی معرکست :nice:

      میخوام همه چیزو خودم یاد بگیرم نه اینکه با کدویزارد برام درست بشن :agree:

      و دلیل اصلیه مهاجرتم به اتمل استادیو این بود که یکی از دوستان گفته بودند که کدویژن کرک شده بخش ADC رو خراب میکنه اونم بعد از اینکه یه پروژه Adc بستم با کدویژن و درست جواب نگرفتم با اینکه خروجی سنسور ثابت بود.

      اینو که شنیدم از کدویژن بدم اومد. :rolleyes:
      حالا امیدوارم با اتمل استادیو 6.1 درست جواب بگیرم

      هدف بعدیم خرید یه پروگرامر اصلیه اتمل هست که با استادیو 6.1 کار کنه :applause:
      "زمان خط است نه دایره" چه ایده بدی بوده گرد ساختن ساعت. احساس میکنی همیشه فرصت تکرار است.
      ساعت دروغ میگوید. دروغ. زمان بر گرد یک دایره نمی چرخد! زمان بر روی خطی مستقیم میدود. و هیچگاه، هیچگاه، هیچگاه باز نمیگردد.
      ساعت خوب، ساعت شنی است! هر لحظه به تو یادآوری میکند که دانه ای که افتاد دیگر باز نمیگردد.
      پس بهتره یکم به ثانیه هایی که داریم فکر کنیم تا به راحتی از دستشون ندیم....

      دیدگاه


        پاسخ : کوچ کردن از کدویژن به AtmelStudio

        نوشته اصلی توسط mo2_star
        دوستان سلام :wow:

        منم میخوام کوچ کنم :biggrin:

        راستشو بخواین اتمل استادیو خیلی معرکست :nice:

        میخوام همه چیزو خودم یاد بگیرم نه اینکه با کدویزارد برام درست بشن :agree:

        و دلیل اصلیه مهاجرتم به اتمل استادیو این بود که یکی از دوستان گفته بودند که کدویژن کرک شده بخش ADC رو خراب میکنه اونم بعد از اینکه یه پروژه Adc بستم با کدویژن و درست جواب نگرفتم با اینکه خروجی سنسور ثابت بود.

        اینو که شنیدم از کدویژن بدم اومد. :rolleyes:
        حالا امیدوارم با اتمل استادیو 6.1 درست جواب بگیرم

        هدف بعدیم خرید یه پروگرامر اصلیه اتمل هست که با استادیو 6.1 کار کنه :applause:
        خیلی خوبه
        پروگرمر mkii
        گفت که دیوانه نهی لایق این خانه نهی

        دیدگاه


          پاسخ : کوچ کردن از کدویژن به AtmelStudio

          نوشته اصلی توسط mo2_star
          دوستان سلام :wow:

          منم میخوام کوچ کنم :biggrin:

          راستشو بخواین اتمل استادیو خیلی معرکست :nice:

          میخوام همه چیزو خودم یاد بگیرم نه اینکه با کدویزارد برام درست بشن :agree:

          و دلیل اصلیه مهاجرتم به اتمل استادیو این بود که یکی از دوستان گفته بودند که کدویژن کرک شده بخش ADC رو خراب میکنه اونم بعد از اینکه یه پروژه Adc بستم با کدویژن و درست جواب نگرفتم با اینکه خروجی سنسور ثابت بود.

          اینو که شنیدم از کدویژن بدم اومد. :rolleyes:
          حالا امیدوارم با اتمل استادیو 6.1 درست جواب بگیرم

          هدف بعدیم خرید یه پروگرامر اصلیه اتمل هست که با استادیو 6.1 کار کنه :applause:
          البته شخصا با ADC و کدویژن زیاد کار کردم و مشکلی نخوردم،
          ولی کلا مشکل کرک هست، بعضی وقتا بدون هیچ دلیلی یه سری مشکلاتی بر میخوری. (البته باز کرکم داریم تا کرک)
          به هرحال در کل موفق باشید

          «پشتکار» «پشتکار» «پشتکار»

          دیدگاه


            پاسخ : کوچ کردن از کدویژن به AtmelStudio

            نوشته اصلی توسط LiZaRd.BoY
            شما برای کار با اتمل استدیو به ۲ چیز نیاز اساسی داری.

            ۱- تسلط نسبی به C
            ۲- دونستن مفهوم رجیستر و امور مربوط بهش

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

            http://maxembedded.com/
            ممنون.
            من دستورات کتابخونه ای مخصوص کامپایلر اتمل رو میخوام.
            میشه کسی فایل کاملی ارائه بده ؟

            دیدگاه


              پاسخ : کوچ کردن از کدویژن به AtmelStudio

              نوشته اصلی توسط PPED
              ممنون.
              من دستورات کتابخونه ای مخصوص کامپایلر اتمل رو میخوام.
              میشه کسی فایل کاملی ارائه بده ؟

              تابع نمونه جهت خواندن کانال های ADC

              کد:
              #define ADC_VREF_TYPE 0x40
              
              void InitADC()
              {
              	DDRC = 0x00;
              	
              	ADMUX = ADC_VREF_TYPE & 0xff;
              	ADCSRA=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1);
              }
              
              unsigned int read_adc(unsigned char ch)
              {
              	
              	//ch=ch&0b00000111;
              	//ADMUX|=ch;
              	ADMUX=ch | (ADC_VREF_TYPE & 0xff);
              	//Start Single conversion
              
              	ADCSRA|=(1<<ADSC);
              
              	//Wait for conversion to complete
              	while(!(ADCSRA & (1<<ADIF)));
              
              	//Clear ADIF by writing one to it
              	ADCSRA|=(1<<ADIF);
              
              	return(ADC);
              }
              چرا ناراحتی پاتریک!
              + امروز ی بچه دیدم سرچهارراه گل میفروخت
              - از دیدنش ناراحت شدی؟
              + نه
              پس چی ناراحتت کرده
              + اینکه دیدن اینجور بچه ها انقدر واسم عادی شده که دیگه ناراحتم نمیکنه
              ------------------------------------------------------------------------------------------------------
              تاحالا فکر کردی بیسواد کیه؟- بی سواد یعنی کسی که نمیتونه ذهنیاتش رو عملی کنه!
              ------------------------------------------------------------------------------------------------------
              محصولات

              دیدگاه


                پاسخ : کوچ کردن از کدویژن به AtmelStudio

                نوشته اصلی توسط RubeuS
                با اجازه ی دوستان به ادامه ی بحث در رابطه با حافظه ی فلش می پردازم:

                در قسمت قبل دیدیم که چطور به کامپایلر بگیم که دیتا آبجکت ما را درون حافظه ی فلش قرار دهد:

                در این قسمت قصد دارم به نحوه ی خواندن( read ) اطلاعات از حافظه ی فلش بپردازم:

                برای اینکار توابعی در فایل pgmspace اعلان شده که به ما کمک میکند:

                به عنوان مثال توسط کد زیر دیتا آبجکتی درون حافظه ی فلش قرار میدهیم:
                کد:
                #include <avr/pgmspace.h>
                static const int i PROGMEM = 0x076f;
                int main()
                {
                	
                	while(1);
                }

                شما میتوانید با استفاده از دیباگ کردن برنامه که در پست اول توضیح داده شد ، کاملا محتویات حافظه ی فلش را بررسی کنید.

                بریم سراغ خوندن دیتا آبجکتمون:
                اینجاست که باید به یک مساله ی مهم در رابطه با میکرویی که کار میکنید اشاره کنم:
                شما اگر از میکرویی استفاده میکنید که حافظه ی فلش آن بیش از 64 کیلو بایت است، این یعنی برای آدرس بندی به اشاره گر بزرگتر از 16 بیتی نیاز دارید.
                و به اصلاح باید با اشاره گر های far به دیتا آبجکتهای داخل فلش دسترسی پیدا کنید.

                با فرض اینکه مقدار حافظه ی فلش کوچکتر از 64 کیلو بایت باشه و به اصطلاح آدرس بندی در اون near باشه ، میریم سراغ توابع خواندن از حافظه ی فلش:

                لیست توابع به صورت زیر است که باید متناسب با دیتا آبجکتی که میخواهیم بخونمش ، از تابع مناسب استفاده کنیم(البته بنده به اینها شبه تابع میگم):

                کد:
                	pgm_read_byte_near(); 
                	pgm_read_word_near(); 
                	pgm_read_dword_near(); 
                	pgm_read_float_near();
                البته اگر near هم برداشته شود ، به صورت پیشفرض از توابع near استفاده میشود.


                خوب ما دیتا آبجکتمون چی بود؟؟
                اره یک int دوبایتی بود. پس باید از تابع pgm_read_word_near استفاده کنیم.

                پس کد زیر مقدار موجود در دیتا آبجکتمون را میخونه و داخل متغییر x که یک دیتا آبجکت درون حافظه ی SRAM است میریزه:

                کد:
                static const int i PROGMEM = 0x076f;
                int main()
                {
                	int x;
                	x=pgm_read_word_near(&i);
                	 
                	while(1);
                }
                فقط توجه شود که این توابه آدرس میگیرند و من با قرار دادن عملگر & قبل از i ،آدرس دیتا آبجکت موجود در فلش را به تابع دادم

                والسلام
                با عرض سلام و سپاس اگه امکان داره درمورد نحوه نوشتن و خواندن آرایه در حافظه فلش هم توضیح بدید.
                مثلا یک ارایه 100 تایی از نوع صحیح 16 بیتی و نحوه دسترسی به ردیفهای مختلف آن.
                با تشکر.

                دیدگاه


                  پاسخ : کوچ کردن از کدویژن به AtmelStudio

                  من امروز این تاپیک دیدم و کار جالب و قابل تقدیری هست.
                  فقط یک نکته : بهتر هست جهت تکمیل شدن بحث و به نتیجه رسیدن آن درکنار این تاپیک یک موضوع جدید هم باز شود و به آموزش AVR-GCC بپردازید.
                  چون همانطور هم که خودتان اشاره داشتید AtmelStudio فقط یک محیط توسعه است و نه کمپایلر. و توضیح یک محیط برنامه نویسی زمان زیادی نخواهد برد اما آشنایی با تکنیک های برنامه نویسی در یک کمپایلر به مراتب مهم تر است و در این صورت کاربر بسته به علاقه و ذوق خود میتواند یکی از محیط های توسعه را برای خود انتخاب کند.
                  من خودم از AtmelStudio استفاده نمیکنم ولی اکثر برنامه ها را با AVR-GCC می نویسم. و محیط برنامه نویسی که برای این کار انتخاب کردم در ویندوز و لینوکس Code::Block است که این قابلیت را به من داده که سایر برنامه نویسی کامپیوتر را نیز همزمان در همین محیط انجام بدهم.

                  با آرزوی موفقیت برای شما.

                  نکات بسیار مهم در تهیه پروگرامر که متاسفانه فراموش میشود!

                  دیدگاه


                    پاسخ : کوچ کردن از کدویژن به AtmelStudio

                    نوشته اصلی توسط lachini
                    من امروز این تاپیک دیدم و کار جالب و قابل تقدیری هست.
                    فقط یک نکته : بهتر هست جهت تکمیل شدن بحث و به نتیجه رسیدن آن درکنار این تاپیک یک موضوع جدید هم باز شود و به آموزش AVR-GCC بپردازید.
                    چون همانطور هم که خودتان اشاره داشتید AtmelStudio فقط یک محیط توسعه است و نه کمپایلر. و توضیح یک محیط برنامه نویسی زمان زیادی نخواهد برد اما آشنایی با تکنیک های برنامه نویسی در یک کمپایلر به مراتب مهم تر است و در این صورت کاربر بسته به علاقه و ذوق خود میتواند یکی از محیط های توسعه را برای خود انتخاب کند.
                    من خودم از AtmelStudio استفاده نمیکنم ولی اکثر برنامه ها را با AVR-GCC می نویسم. و محیط برنامه نویسی که برای این کار انتخاب کردم در ویندوز و لینوکس Code::Block است که این قابلیت را به من داده که سایر برنامه نویسی کامپیوتر را نیز همزمان در همین محیط انجام بدهم.

                    با آرزوی موفقیت برای شما.
                    دقیقا ...
                    من هم با شما موافقم ...
                    Code block یک نرم افزار رایگان است که خیلی کارها میتوان با آن انجام دادم ...
                    من بیشتر کدهام رو با این نرم افزار مینویسم البته تنها ++C :mrgreen:
                    ولی جدا" نرم افزار خیلی خوبیه و میشه با اون خیلی از برنامه های ++ARM, AVR, C,C و خیلی چیزهای دیگر با آن نوشت ...
                    این هم لینک
                    http://www.codeblocks.org/
                    [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                    معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                    معرفی نرم افزار Codewizard PWM
                    با من بیشتر آشنا شوید

                    دیدگاه


                      پاسخ : کوچ کردن از کدویژن به AtmelStudio

                      نوشته اصلی توسط lachini
                      من امروز این تاپیک دیدم و کار جالب و قابل تقدیری هست.
                      فقط یک نکته : بهتر هست جهت تکمیل شدن بحث و به نتیجه رسیدن آن درکنار این تاپیک یک موضوع جدید هم باز شود و به آموزش AVR-GCC بپردازید.
                      چون همانطور هم که خودتان اشاره داشتید AtmelStudio فقط یک محیط توسعه است و نه کمپایلر. و توضیح یک محیط برنامه نویسی زمان زیادی نخواهد برد اما آشنایی با تکنیک های برنامه نویسی در یک کمپایلر به مراتب مهم تر است و در این صورت کاربر بسته به علاقه و ذوق خود میتواند یکی از محیط های توسعه را برای خود انتخاب کند.
                      من خودم از AtmelStudio استفاده نمیکنم ولی اکثر برنامه ها را با AVR-GCC می نویسم. و محیط برنامه نویسی که برای این کار انتخاب کردم در ویندوز و لینوکس Code::Block است که این قابلیت را به من داده که سایر برنامه نویسی کامپیوتر را نیز همزمان در همین محیط انجام بدهم.

                      با آرزوی موفقیت برای شما.
                      http://www.eca.ir/forum2/index.php?topic=54475.0
                      http://www.eca.ir/forum2/index.php?topic=41050.0

                      دیدگاه


                        پاسخ : کوچ کردن از کدویژن به AtmelStudio

                        سلام
                        در مورد فایل های سرآیند زیر سوال داشتم :
                        کد:
                        #include"global.h"
                        کد:
                        #include"avrlibdefs.h"
                        کد:
                        #include"avrlibtypes.h
                        کاربرد این فایل ها چیست ؟ برای مثال با تعریف F_CPU=8000000UL در قسمت symbols ، میشه مقدار فرکانس رو تعریف کرد ، با این حال کاربرد global.h چیست ؟
                        تشکر .

                        دیدگاه


                          پاسخ : کوچ کردن از کدویژن به AtmelStudio

                          سلام
                          من تازه کار با atmel studio را شروع کردم یه سوال دارم:
                          من حودم باید #
                          define PB7 7
                          #define PB6 6
                          #define PB5 5
                          #define PB4 4
                          #define PB3 3
                          #define PB2 2
                          #define PB1 1
                          #define PB0 0
                          را تعریف کنم یا تو کتابخونه ی #include <compat/deprecated.h> هست.
                          با تشکر...

                          دیدگاه


                            پاسخ : کوچ کردن از کدویژن به AtmelStudio

                            نوشته اصلی توسط amirbehzadfar
                            سلام
                            من تازه کار با atmel studio را شروع کردم یه سوال دارم:
                            من حودم باید #
                            define PB7 7
                            #define PB6 6
                            #define PB5 5
                            #define PB4 4
                            #define PB3 3
                            #define PB2 2
                            #define PB1 1
                            #define PB0 0
                            را تعریف کنم یا تو کتابخونه ی #include <compat/deprecated.h> هست.
                            با تشکر...
                            سلام
                            من یه کتابخونه نوشتم که خیلی از کارها رو راحت میکنه ... مخصوصا اگر کسی با اتمل استودیو کار کنه ...
                            این هم لینک دانلود ...
                            امیدوارم که به دردتون بخوره ...
                            موفق باشید
                            [b]چگونه همه پایه های میکروکنترلر AVR را PWM کنیم؟
                            معرفی نرم افزارEasy 7segment (برای راه اندازی آسانتر 7segment )
                            معرفی نرم افزار Codewizard PWM
                            با من بیشتر آشنا شوید

                            دیدگاه


                              پاسخ : کوچ کردن از کدویژن به AtmelStudio

                              اقا تنظیمات lcd از کجا باید پیدا کنیم ایا میشه پورت lcdرو عوض کرد دلخواهی کرد

                              دیدگاه


                                پاسخ : کوچ کردن از کدویژن به AtmelStudio

                                نوشته اصلی توسط بنیامین 20
                                اقا تنظیمات lcd از کجا باید پیدا کنیم ایا میشه پورت lcdرو عوض کرد دلخواهی کرد
                                کدوم کتابخونه
                                اگه کتبخونه ای که خود سید ارائه دادن رو میگی که اره
                                خود فایل lcd.hرو باز کنی پورتاش قابل تنظیم
                                تو فایل pdf مربوطه هم توضیح رو داده

                                دیدگاه

                                لطفا صبر کنید...
                                X