اطلاعیه

Collapse
No announcement yet.

پاسخ : چرا lcd قاطی میکند و بررسی خوبترین زبان برنامه نویسی برای avr از صفحه 2

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

    #31
    پاسخ : چرا lcd بعضی اوقات قاطی میکند؟

    فکر میکنم ادامه این بحث در این تاپیک جایز نیست و بصورت خصوصی باشه بهتره ولی این مباحث بنظرم برای دوستان میتونه خیلی مهم و حیاتی باشه و دونستنش برای همه خیلی مهمه.پس از آقایون مدیر خواهش میکنم اینا رو ببرن تو یک تاپیک مجزا تا همه بتونن استفاده کنن
    راه اندازی ماژول 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 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
    انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

    دیدگاه


      #32
      پاسخ : پاسخ : چرا lcd قاطی میکند و بررسی خوبترین زبان برنامه نویسی برای avr از صفحه 2

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

      دیدگاه


        #33
        پاسخ : پاسخ : چرا lcd قاطی میکند و بررسی خوبترین زبان برنامه نویسی برای avr از صفحه 2

        نوشته اصلی توسط mahdifaheca
        من نمیگم تا آخر عمر زمان داریم عزیز. میگم کیفیت فدای زمان بشه بهتره. خیلی از برنامه ها هستن که اگر با سی بنویسید در آینده به یه مشکلای عجیب غریبی میخورید که فکرشم نمیکردین
        بنده هم قبول دارم که اسمبلی زبان شیرینی هست اون طور که من از منظور شما فهمیدم شما ادعا دارید که زبان C رو کنار بذاریم و با اسمبلی بنویسیم این عقیده کاملا اشتباه هست!
        بذارید یه مثال بزنم فرض کنید شما در حال طراحی کاراکترهایی برای نمایش روی LCD یا تابلوروان یا هرچیز دیگه ای هستید یه راه اینه که کدهای اونو به طور دستی دربیارید و یه راه دیگه استفاده از یه نرم افزار جانبی که اینکار رو بکنه
        راه اول در ابتدا شیرین هست اما زمان بر و در ادامه اعصاب خورد کن اما راه دوم زمان رو کم میکنه کیفیت کم نمیشه اما شاید بعدا ببینید که محدودیتهایی (نسبت به نرم افزار) دارید
        اما شما کدوم راه رو انتخاب میکنید راه دوم چرا چون زمان خیلی مهمه و محدودیتها رو میشه با تلفیق این دو روش برطرف کرد
        پس اسمبلی رو باید دونست اما برنامه رو با سی نوشت...
        [br /][hr]http://pcenter.ir[hr][br /]

        دیدگاه


          #34
          پاسخ : پاسخ : چرا lcd قاطی میکند و بررسی خوبترین ز

          نوشته اصلی توسط hosseinam1370
          با این توضیحات پس ما باید بسته به نوع کار خودمون که چه اندازه بزرگ و چه اندازه کوچک هست باید زبان برنامه نویسی رو انتخاب کنیم،البته اگر به چند زبان برای برنامه نویسی مسلط باشیم ، ولی اینطور که من شنیدم اسمبلی زبانی هست که باید دید بسیار بازتری از سخت افزاری و رجیستر های میکرو داشت،و کدهایی که اسمبلی تولید میکنه کمتر از دیگر زبان هاست که در برنامه های بزرگ نسبت به حافظه فلش میکرو میتونه برتری خودشو نشون بده.
          در هر صورت اگه بخام arm برنامه بنویسم بهترین زبانی که میتونم الان یاد بگیرم تا اونجا هم استفاده بشه ،کسی میدونه که کدوم زبان بهتره؟
          تو arm هم میشه با c برنامه نوشت؟
          آشنایی با زبان های مختلف خوبه و جالبه ولی شما باید یک زبان رو که باش راحت تری و بهتر میتونی با اون الگوریتم های داخل ذهنتو پیاده کنی ،انتخاب و به صورت تخصصی روی اون زبان کار کنی.

          زبان ها بوجود اومدن تا برنامه نویس سریعتر به هدفش که انجام الگوریتمی به صورت برنامه برای یک ماشین است ، برسد. وقتی شما مثلا بخواید در برنامه مقداری را در حافظه دیتا( Data Memory) که در avr یک sram است بریزید در اصل باید ابتدا مقدار را داخل یکی از رجیستر های همگانی بریزید و سپس با دستوری مقدار این رجیستر را درون خونه ای از حافظه با آدرسی که مشخص میکنید، بریزید
          به عنوان مثال ما می خواهیم مقدار 3 را درون حافظه sram ذخیره کنیم:
          در اسمبلی avr (توجه کنید دارم میگم اسمبلی avr نمیگم اسمبلی):
          اول مثلا به پردازنده میگیم میخواهیم مقدار 3 را ذخیره کنیم پس ابتدا 3 را درون یکی از رجیستر های همگانی مثلا R16 میریزیم:
          کد:
          LDI R16 , 3
          حالا میگیم مقدار رجیستر R16 را در خانه حافظه مثلا به آدرس 0x015F (بخونید یک پنج اف هگز) بریز :
          کد:
          STS 0x015F, R1
          که هرکدام از این دستورات به یک دستور ماشین (یک دستور از ISA پردازنده که چند پست قبل گفتم) اسمبل میشوند و داخل حافظه دستور(Instruction Memory) که در اینجا همون حافظه فلش است ریخته میشود و زمانی که شمارنده دستور پردازنده (PC=ProgramCounter) به این دستورات رسید ، دستورات را fetch (واکشی) ، decode(کدگشایی) و execute(اجرا) میکند و با این کار مقدار 3 داخل حافظه sram قرار میگیرد.
          میبینیم کار طاقت فرسایی است . و اینو اگه توی یک پروژه بزرگ بخواهید عملی کنید تقریبا میشه گفت غیرممکنه.

          ولی شما در سی برای اینکار فقط می نویسید مثلا:
          کد:
          char x=3;
          و بعد کامپایلر خودش بهترین دستورات را انتخاب و دستور فوق (که یک دستور سطح بالاست) را به اسمبلی و زبان ماشین ترجمه میکند.

          این مثال ساده ای بود حالا اگه بخواهید یک شرط یا حلقه ساده به اسمبلی بنویسید نسبت به اینکه با یک زبان سطح بالا بنویسید تفاوت را کاملا حس میکنید.
          راه اندازی ماژول 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 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
          انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

          دیدگاه


            #35
            پاسخ : چرا lcd قاطی میکند و بررسی خوبترین زبان برنامه نویسی برای avr از صفحه 2

            پست قبلم خیلی غلط داشت (چون نصفشو یکی دو ساعت پیش نوشتم ، کار برام پیش اومد رفتم بیرون برگشتم بقیشو نوشتم :mrgreen دوباره خوندم خودم گیج شدم :mrgreen: تصحیحش کردم . اگه قبلا خوندید دوباره یه نگاه بش بندازید.
            راه اندازی ماژول 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 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
            انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

            دیدگاه


              #36
              پاسخ : چرا lcd قاطی میکند و بررسی خوبترین زبان برنامه نویسی برای avr از صفحه 2

              من حس میکنم مشکل از فرمان idle باشه اگه حدف بشه شاید...
              فیوز بیت هارو هم باید روی 8 مگ قرار داده باشین
              مدت هاست نیستم

              دیدگاه


                #37
                پاسخ : چرا lcd قاطی میکند و بررسی خوبترین زبان برنامه نویسی برای avr از صفحه 2

                فکر میکنم تاپیک اشتباهی پست دادید :smile:

                راستی من دستور char x=3 رو تو کد ویژن زدم و کامپایلر این دستور را فقط به یک دستور زبان ماشین به صورت E013 ترجمه کرد و این یعنی 3 رو بریز تو R17 ( یا LDI R17,3) و اصلا تو sram نریخت چون تشخیص داد تعداد متغییرها کم است و اینطوری سریعتر به مقدار 3 دسترسی پیدا میکنیم ولی اگر تعداد متغییرها زیاد تر شود مطمئنا داخل sram میریزد.

                برای اطلاعات بیشتر مراجعه شود به doc0856 اتمل
                راه اندازی ماژول 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 سفارش راه انداز ماژول های مختلف توسط اعضای انجمن
                انشالله به زودی تاپیک ها به روز رسانی خواهد شد،

                دیدگاه


                  #38
                  پاسخ : پاسخ : چرا lcd قاطی میکند و بررسی خوبترین زبان برنامه نویسی برای avr از صفحه 2

                  نوشته اصلی توسط hosseinam1370
                  با این توضیحات پس ما باید بسته به نوع کار خودمون که چه اندازه بزرگ و چه اندازه کوچک هست باید زبان برنامه نویسی رو انتخاب کنیم،البته اگر به چند زبان برای برنامه نویسی مسلط باشیم ، ولی اینطور که من شنیدم اسمبلی زبانی هست که باید دید بسیار بازتری از سخت افزاری و رجیستر های میکرو داشت،و کدهایی که اسمبلی تولید میکنه کمتر از دیگر زبان هاست که در برنامه های بزرگ نسبت به حافظه فلش میکرو میتونه برتری خودشو نشون بده.
                  در هر صورت اگه بخام arm برنامه بنویسم بهترین زبانی که میتونم الان یاد بگیرم تا اونجا هم استفاده بشه ،کسی میدونه که کدوم زبان بهتره؟
                  تو arm هم میشه با c برنامه نوشت؟
                  عزیز من زبانی غیر از زبان اسمبلی باور ندارم چون اعتقاد دارم زبان اسمبلی زبان مادر CPU هستش. شما فرض کن بچه آذربایجانی ولی فارسیم بلدی حرف بزنی. ولی درکت توی کودوم زبان بیشتره؟ احساسی که با کلمه های ترکی بهت میگن با همون کلمه ها ولی فارسی فرق نمیکنه؟؟ اگر یه کار صنعتی باشه باید واسش وقت گذاشت و یه برنامه بی عیب و نقص نوشت. ولی اگر برنامه مهم نبودش و در حد پروژه دانشجویی بود با سی بنویسی خیلی بهتره. من سی رو زیاد قبول ندارم چون
                  1- کتابخونه هاش به دست افراد مختلف نوشته شده و استاندارد نیست. یعنی یه آدمی مثل من میاد یه کتابخونه بسته به نیاز و طرز فکر خودش مینویسه و میزاره ماهم خوشحال میشیم و میریم ازش استفاده میکنیم و کلی هم زوق میکنیم. اگرم قرار باشه آدم خودش کتابخونش بنویسه خوب میره یه هو اسمبلی کار میکنه دیگه. اون اولاش شاید یه کم سخت به نظر بیاد ولی بعد 1کی 2 هفته مثل فرفره مینویسه
                  2- حجم کد تولیدی توی زبان سی 3 برابر زبان اسمبلی هستش. که اگر بخاید یه دستگاه واس تولید انبوه بسازید مجبورید برید سراغ ارزون ترین آی سی و آی سی ای که حجم حافظه فلشش کمتر باشه به تبع ارزونتره.
                  من خودم توی صنعت با سی کار کردم و با اسمبلی هم کار کردم. الان پشیمونم که چرا سی رو اصلا یاد گرفتم. بگذریم که اگر یاد نمیگرفتم شاید به این خوبی اسمبلی یاد نمیگرفتم بعدش.ولی واقعا بعضی جاها سی یه کارایی میکرد که آدم میموند!!! من تجربم خاستم در اختیار دوستان بزارم. حالا کسی واسش زمان مهمه یا کیفیت خودش میتونه انتخاب کنه. ما که نظرمون گفتیم.
                  طب اسلامی

                  دیدگاه

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