اطلاعیه

Collapse
No announcement yet.

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

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

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

    نوشته اصلی توسط aseok
    ببخشید تفاوت ایندو چیه ؟


    کد:
    char* a
    کد:
    char *a
    با تشکر .
    ببنید کامپایر نگاه نمیکنه که شما چندتا اسپیس قرار دادید. فقط میبینه که به چه نحوی نوشته شده و دنبال کلمات میگرده و همچنین با دیدن ; میفهمه که دستورتون تمام شده. پس تفاوتی بین این دو قائل نمیشه ( حتی اگر شما 1000 اسپیس هم قبل و بعد * بزارید تفاوتی قائل نمیشه.)
    البته قشنگ تره که از عبارت دوم استفاده بشه.
    (البته آیه نیومده و میتونید خودتون یک کامپایلر طراحی کنید که به عبارت *char ایراد بگیره)
    راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
    کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
    نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
    http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
    انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

    دیدگاه


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

      با سلام خدمت دوستان
      میشه نحوه ساخت کتابخونه رو هم یادمون بدید،مرسی
      وه کو شیتان شیتی تو بوم

      دیدگاه


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

        نوشته اصلی توسط RubeuS
        سلام
        خواهش میکنم.

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

        سوال: پس تو کدویژن چرا از تعریف xtal استفاده میکنند؟(یا تو (AS ( AtmelStudio چرا از F_CPU استفاده میشه)
        جواب : صرفا جهت استفاده از توابع delay که به صورت نرم افزاری نوشته میشه. و برای محاسبات داخل این توابع باید برای تابع فرکانس پردازنده مشخص باشه.
        خوب پس میریم سراغ هدر delay.h که باید به صورت زیر اینکلود شود:
        کد:
        #include <util/delay.h>
        خوب بازش میکنم و به این قسمت میرسیم:
        کد:
        #ifndef F_CPU
        /* prevent compiler error by supplying a default */
        # warning "F_CPU not defined for <util/delay.h>"
        # define F_CPU 1000000UL
        #endif
        خوب معنیش چیه؟
        یعنی آقای کامپایلر ( کلا کامپایلر آقاست :mrgreen: ) اگر F_CPU برام مشخص نشده بود به آقای برنامه نویس وارنینگ بده و بصورت پیش فرض مقدارش رو 1 مگاهرتز بگیر. ( اون UL یعنی Unsigned Long )
        پس کافیه تو هر سورس فایلی که delay.h را اینکلود میکنید. قبلش فقط بنویسید( مثلا اگر قصد داشتید تو مرحله پروگرام کردن میکرو تون را 8 مگاهرتز تنظیم کنید.):
        کد:
        #define F_CPU 8000000UL
        با سلام خدمت دوست گرامی
        من یه مشکل دارم
        من هرچی delay تو برنامه میزارم با مقدار واقعی یکسان نیست مثلا من میخوام 4 ثانیه delay بدم تو مقدار واقعی خیلی بیشتره از 4 ثانیه بعضی وقت ها میرم .................بر م یگردم تازه میرسه به خط بعدی،اقا اگه میشه کمکم کنید مرسی از همه دوستان
        وه کو شیتان شیتی تو بوم

        دیدگاه


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

          با سلام انگار کسی نیست جواب سوال های من رو بده؟؟؟؟یا من وقت خوبی برای سوال انتخاب نکردم
          اقا من یه سوال دیگه درارم وقتی debug میکنم مثلا f10 یا f11 رو میزنم یه پنجره باز میشه که باید یه چیزی رو انخاب کنم ولی چیزی نیست نمیدونم باید نرم افزار دیگه لازمه باید نصب کنیم
          این عکس اون پنجره که باز میکنه

          در حالی من یه pdf اموزشی از atmelstudio دارم که تو این پنجره که باز میکنه یه گزینه هست به AVR simulator که عکسش اینه!!!!!!!!!!

          اگه کسی هست کمکم کنه،ممنون
          وه کو شیتان شیتی تو بوم

          دیدگاه


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

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

            project - آخرین گزینه ( یا ALT+F7 ) - برگه Tool - قسمت Selected debugger/programmer

            یا از قسمت بالا کنار اسم میکرو گزینه ای هست به اسم No tool selected با آیکون چکش

            من هرچی delay تو برنامه میزارم با مقدار واقعی یکسان نیست مثلا من میخوام 4 ثانیه delay بدم تو مقدار واقعی خیلی بیشتره از 4 ثانیه بعضی وقت ها میرم ........
            اگه از Simulator استفاده می کنی هرگز زمان واقعی نداری چون سرعت Simulator خیلی خیلی کندتر از زمان واقعی هست (شاید هزار بار)
            اگه فقط در حد تست ورودی و خروجی هاست بهتره مقدار delay خیلی کم بشه مثلا در حد 10ms یا شاید کمتر
            در غیر این صورت تو پروتئوس و برای زمان واقعی تر به صورت عملی تست بشه
            گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

            دیدگاه


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

              نوشته اصلی توسط hanamohsen
              با سلام خدمت دوستان
              میشه نحوه ساخت کتابخونه رو هم یادمون بدید،مرسی
              به اینجا سربزنید
              http://www.eca.ir/forum2/index.php?topic=79291.0]
              گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

              دیدگاه


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

                نوشته اصلی توسط Hamed Gh
                برای دیباگ کردن اول باید ابزار دیباگ انتخاب بشه از مسیر زیر:

                project - آخرین گزینه ( یا ALT+F7 ) - برگه Tool - قسمت Selected debugger/programmer

                یا از قسمت بالا کنار اسم میکرو گزینه ای هست به اسم No tool selected با آیکون چکش

                اگه از Simulator استفاده می کنی هرگز زمان واقعی نداری چون سرعت Simulator خیلی خیلی کندتر از زمان واقعی هست (شاید هزار بار)
                اگه فقط در حد تست ورودی و خروجی هاست بهتره مقدار delay خیلی کم بشه مثلا در حد 10ms یا شاید کمتر
                در غیر این صورت تو پروتئوس و برای زمان واقعی تر به صورت عملی تست بشه
                من منظورم از سوال دومی یعنی delay در مورد debug نبود،مثلا یه برنامه ساده چشمک زن رو قتی تو codevision قبلا میبستیم delayهای که میذاشتیم تو برنامه بعد میاوردیم رو سخت افزار program میکردیم واقعی بود یعنی 2 ثانیه تقریبا 2 ثانیه بود ولی تو atmelstudio اینجوری نیست خیلی خیلی تفاوت دراه ایا به فرکانس کاری مدار ربط داره که میدونم ربط داره چون وقتی تغییر میدادم فرکانسو تغییر میکرد حالا من میخوام به یه زمان واقعی دست پیدا کنم باید کی رو ببینم؟؟؟؟ :cry:
                وه کو شیتان شیتی تو بوم

                دیدگاه


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

                  همونطور که میدونید برای داشتن زمان واقعیتر باید فرکانس کاری مدار (موقع تنظیم فیوزبیتها) با فرکانسی که در برنامه تعیین میشه برابر باشه
                  نکته بعد تنظیم Optimization هست که نباید روی 0o تنظیم بشه
                  گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

                  دیدگاه


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

                    نوشته اصلی توسط Hamed Gh
                    همونطور که میدونید برای داشتن زمان واقعیتر باید فرکانس کاری مدار (موقع تنظیم فیوزبیتها) با فرکانسی که در برنامه تعیین میشه برابر باشه
                    نکته بعد تنظیم Optimization هست که نباید روی 0o تنظیم بشه
                    Optimization باید روی چند تنظیم بشه؟
                    وه کو شیتان شیتی تو بوم

                    دیدگاه


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

                      Optimization باید روی چند تنظیم بشه؟
                      تفاوت زیادی ندارند فقط بهتره که 0o نباشه
                      بیشتر برای بهینه سازی کد خروجی هست و تو برنامه های خیلی سنگین بیشتر تاثیر داره

                      برای مورد شما نباید مشکلی پیش بیاد چون ماکزیمم تاخیر تا 6.5535 ثانیه هم قابل قبوله
                      شاید بهتر باشه نمونه کد بذارین
                      تو پروتئوس هم اینجوریه؟
                      گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

                      دیدگاه


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

                        در رابطه با Optimization

                        هر شکل از بهینه سازی با یک فلگ مشخص میشه که چهار نوع اون در دسترس هستند :

                        O0- : در این حالت هیچگونه عمل بهینه سازی در رابطه با کد تولیدی توسط کامپایلر انجام نمیشود
                        O1- : در این حالت کامپایلر کد را به لحاظ سرعت اجرا در سطح یک بهینه تولید میکنه
                        O2- : در این حالت کامپایلر کد را به لحاظ سرعت اجرا در سطح دو بهینه تولید میکنه
                        O3- : در این حالت کامپایلر کد را به لحاظ سرعت اجرا در سطح سه بهینه تولید میکنه
                        Os- : در این حالت کامپایلر کد را به لحاظ حجم کد تولیدی در بهینه ترین سطح تولید میکنه

                        اگر شکل بهینه سازی که مد نظرتون هست و اون ترکیب مورد نظرتون توی هیچکدوم از موارد فوق نیست میتونید فلگ های
                        مربوط به بهینه سازی موردنظر تون رو در فیلد other optimization flag وارد کنید ، همچنین میتونید از طریق چک باکس
                        موجود 4 تا فلگ دیگه رو با توجه به نیازتون هم فعال و یا غیر فعال کنید

                        برای اطلاعات بیشتر در مورد فلگ های بهینه سازی در avrgcc به لینک زیر که منوآل خود gcc هست مراجعه کنید :
                        http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Optimize-Options.html#Optimize-Options
                        گاهی افرادی به موفقیت های بزرگ می رسند، تنها به این دلیل ساده که نمی دانند کاری که به آن دست زده اند بسیار دشوار، بلکه غیر ممکن است.

                        دیدگاه


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

                          سلام

                          در صورتی که یک کتابخانه با زبان ++c نوشته باشه ، آیا میشه در پروژه ای با زبان c از اون استفاده کرد ؟ چه تغییراتی باید اعمال بشه ؟

                          باتشکر .

                          دیدگاه


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

                            سلام
                            کار عملگر ## در زبون c چی هست؟؟
                            مثلا ماکرو زیر:
                            کد:
                            #define _CONCAT(a,b) a##b

                            دیدگاه


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

                              نوشته اصلی توسط aseok
                              سلام

                              در صورتی که یک کتابخانه با زبان ++c نوشته باشه ، آیا میشه در پروژه ای با زبان c از اون استفاده کرد ؟ چه تغییراتی باید اعمال بشه ؟

                              باتشکر .
                              سلام
                              باید کد دیده بشه .
                              تغییراتم به نسبت کد است.
                              راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                              کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                              نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                              http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                              انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                              دیدگاه


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

                                نوشته اصلی توسط M3R
                                سلام
                                کار عملگر ## در زبون c چی هست؟؟
                                مثلا ماکرو زیر:
                                کد:
                                #define _CONCAT(a,b) a##b
                                سلام
                                قبلا مفصل در اینباره در همین تاپیک توضیح داده شده ( به همراه مثال)
                                راه اندازی ماژول nrf24l01p برای codevision (ارتباط بیسیم بین دو میکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
                                کوچ کردن از کدویژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
                                نحوه نوشتن اصولی یک لایبرری و درایور نرم افزاری( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
                                http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                                انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                                دیدگاه

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