اطلاعیه

Collapse
No announcement yet.

اینتراپت خارجی به صورت نرم افزاری

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

    #16
    پاسخ : اینتراپت خارجی به صورت نرم افزاری

    سعید جان خوشحالم که بحث رو بدون اینکه باعث ناراحتی هم بشیم به جایی رسوندیم، همونطور که گفتم بیشتر اختلاف نظر بر میگرده به برداشتمون از کلامات وقفه و وقفه نرم افزاری و .. به هر حال من به چیزی که میخواستم از ادامه این بحث برسم رسیدم ( اینکه وقفه نرم افزاری که میگید یعنی چه و چه فرقی با وقفه اصلی داره ) شما هم با توجه به برداشتی که از معنی وقفه کردید فرمایشاتون صحیح هست اما به یاد داشته باشید که اون وقفه نرم افزاری نمیتونه جای وقفه سخت افزاری رو بگیره و توی چند مورد با هم تفاوت دارند و نمیشه همیشه به جای وقفه سخت افزاری از وقفه نرم افزاری استفاده کرد و جواب هم گرفت.
    -------
    در مورد سوال دوم اگرچه زیاد علاقه ندارم بحث کنم چون این بحث ها تکراری هست اما مجبورم چندتا نکته رو بنویسم:
    اول اینکه توجه کنید که من نمیگم Bascom یا CodeVision و امثال اون به درد نمیخورند، اتفاقا برای خیلی موارد بسیار عالی هست و خودم هم خیلی از کارهام رو با Codevision انجام دادم، وقت کمتری نیاز داره، خطاهاش کمتر هست و راحت تر میشه رفعشون کرد، کمتر برنامه نویس گیج میشه و ... اما در صورتی کار کردن با اینها خوب هست که اسمبلی رو درست بلد باشید و این خودش نیاز به این داره که زمان نسبتا زیادی رو صرف یادگیری اسمبلی کرده باشید، به هر حال هر کاری ارزشی داره، قرار نیست همه چیز راحت به دست بیاد، وقتی بحث کارهای خاص میشه دیگه کار به این راحتی ها نیست که با این کامپایلرها بشه انجام داد.
    خدارو شکر بحث سرعت برنامه رو قبول دارید من دیگه در موردش حرف نمیزنم، اگر بخوام ایرادهای زبان برنامه نویسی بیسیک برای کارهای سخت افزاری با میکروکنترلر رو کامل بگم خیلی باید بنویسم به همین خاطر به طور خلاصه بعضی ایرادها رو میگم در حدی که جواب سوالاتون هم داده باشم:
    ببینید قیمت فقط یک بحث هست که البته شما تفاوت قیمت رو توی 500 تومان و هزار تومان نبینید، تفاوت قیمت خودش رو توی تولید انبوه نشون میده، البته باز هم میگم که فعلا با قیمت کاری ندارم، مهمتر از اون محدودیت های کاری هستند، شما نمیتونید هر موقع دلتون خواست مثلا tiny2313 رو بردارید به جاش مگا8 یا مگا32 بگذارید، هرچیز برای کار خاصی طراحی شده، اگر بحث فقط سر قیمت و حافظه و اینجور چیزا بود حالا باید تولید همه میکروهای سری tiny و 90S رو متوقف میکردند میگفتند خوب برید مگا 128 بخرید، هم حافظه بیشتر داره هم ماژول های بیشتری داره و خیلی مزایا دیگه، حالا یکم گران تر هم هست ولی ارزش خرج کردن داره، در حالی که اینطور نیست، اون میکروها باید تولید بشند چون کاربردشون چیز دیگری هست و شما موقع کار با اونها محدودیت هاتون توی Bascom بیشتر میشه، به خصوص توی Tiny ها.تازه بعضی از ادوات جانبی که توی میکروهای کوچکتر هست توی بزرگترها و High end ها نیست، یادم هست که توی یکی از Tiny ها یک ماژول بود که توی هیچکدوم از MEGA ها من ندیدم، منظورم این هست که مشکل حافظه رو نمیشه همیشه با تغویض قطعه عوض کرد، شما باید کار رو توی چارچوب خاصی انجام بدید و برای اینکه بتونید این کار رو بکنید باید بتونید از حداکثر قابلیتهای هر میکرو استفاده کنید که استفاده از حداکثر توانایی ها با Bascom هیچ وقت به دست نمیاد، با توجه به محدودیت های کاری میشه تعداد بیشماری پروژه مثال زد که با بیسیک نشه انجام داد ( اما با اسمبلی بشه ).
    امکان نداره که شما بتونید برنامه ای با C یا بیسیک بنویسید که نشه با اسمبلی نوشت، ممکن هست متخصص و برنامه نویسی نباشه که بتونه با اسمبلی بنویستش اما میشه نوشت، یا به فول خودتون وقت و زمان بیشتری لازم داره، البته قبلا که این کامپایلرها برای میکروکنترلر نبود برنامه نویسان اسمبلی توی کشورمون هم خیلی خوب بودند ولی پیدایش AVR و این کامپایلرها باعث شد که بیشتر افرادی که با اسمبلی کار میکردند جذب اینها بشند و برنامه نویسان اسمبلی حرفه ای کمتر بشند وگرنه من یادم هست با 8051 و Z80 یا سری 16 میکروهای PIC به زبان اسمبلی پروژه های خیلی بزرگ انجام میدادند که نسبت به پروژه هایی که حالا با AVR انجام میشه به مراتب به صرفه تر بود و زمان آنچنانی هم نمیگرفت.
    همونطور که خودتون متوجه هستید دلیل اینکه شما برنامه هاتون رو توی بیسیک یا سی سریع و کوتاه مینویسید این هست که قبلا کسی برنامه بلندش رو نوشته و کرده دستور و تابع و در اختیار شما قرار داده، توی اسمبلی هم میشه همین کار رو کرد، میشه ماکرو درست کرد و روتین درست کرد، خود من بسیاری از برنامه های اسمبلیم رو70% فقط کپی و پیست میکنم، تازه من کارم برنامه نویسی و ساختن پروژه نیست وگرنه کسی که اینکاره هست برای خودش کلی روتین و ماکرو آماده داره که تقریبا به راحتی یک برنامه نویس C میتونه اسمبلی بنویسه. این برنامه LCD که میگید رو با حدود 50 تا کد میشه نوشت ( نه 50 خط برنامه ) که شامل همه تنظیمات پشته و تنظیمات پورتها و پیکربندی LCD و ... هم هست. برنامه ضرب هم اونقدرا که فکر میکنید بلند نمیشه و زمان نمیبره، ولی خوب نسبت به بیسیک چرا خیلی بیشتر میشه، اما به نظر من که ارزشش رو داره، مثلا برنامه LCD رو که خودتون مثال زدید فکر نکنم از لحاظ زمانی بیشتر از 10 دقیقه فرقش باشه.
    یکی از اون برنامه ها که فکر میکنید توی ایران کسی نمیتونه با اسمبلی بنویسه رو لطفا مثال بزنید، فقط میخوام پیش خودم حساب کنم ببینم واقعا چقدر دردسر داره.
    مجددا یادآوری میکنم، من نمیگم کامپایلرها خوب نیستند، میگم برای بعضی موارد خوب نیستند و از اون بدتر اینکه بدون دانستن کامل اسمبلی و معماری میکروکنترلر خوب نیست با اونها شروع کرد و پیش رفت.
    از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
    هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
    اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
    اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
    شاد و موفق باشید

    دیدگاه


      #17
      پاسخ : اینتراپت خارجی به صورت نرم افزاری

      study جان
      من قبلا 8051 رو با اسمبلی کار می کردم و با همون اسمبلی هم یاد گرفتم
      استادمون یکروز گفت حافظه 8051 به انداره 4 کیلو بایته ولی به گفته خودش تابحال نتونسته بود اون حافظه رو پر کنه
      این رو به عنوان تصدیق در مورد اون صبحتهایی بود که کفتید چون خودمم توی اون زمان بزرگترین برنامه ام کمتر از 500 بایت بود
      ولی آخرین پروژه ای که انجام دادم حجمم برنامه حدود 89 کیلو بایت توی m128 بود و توی همون بیسیک حدود یازده هزار خط شد

      حالا فرض کن که این برنامه رو به اسمبلی بخوای انجام بدی !!! درسته که این برنامه رو باز هم میشه با اسمبلی نوشت اما بقیه مسایلی رو که خودت کفتی رو هم در نظر بگیر

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

      دقیقا مشابه همون روتین هایی که خودت گفتی هر زبان برنامه نویسی به ناچار باید از یک سری روتین استفاده کنه و یک مقدار ثابت رو اشغال کنه حالا اگه حجم برنامه بالا بره اون درصد کوچیکی از متن برنامه میشه اما توی فراخوانی ها بعدی مطمئنا این فضای مصرفی جبران می شه

      این چند خط برنامه که این زیر نوشتم 2660 بایت حافظه می گیره شاید یک حجم زیادی مربوط به پیکر بندی دستورات print باشه ولی مطمئنا این پیکر بندی فقط یکبار انجام میشه

      Dim A As Double , B As Double , C As Double
      Dim D As Word
      C = A * B
      D = Rnd(65536)
      Print C
      Print D
      End


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


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

      دیدگاه


        #18
        پاسخ : اینتراپت خارجی به صورت نرم افزاری

        آقای study
        من خیلی از حرفهای شما رو قبول ندارم
        من نه با C بلدم برنامه بنویسم نه با اسمبلی
        برای همین نمیتونم درباره سرعت و مقدار اندازه فایل کامپایل شده نطری بدم هر چند کسایی که اهل فن هستند نظر شما رو رد کردند

        http://www.eca.ir/forum2/index.php?topic=34475.msg167362#msg167362

        در هرصورت همونطور که مشخصه شما زود قضاوت کردین و به بسکام نسبت الکی دادید
        فکر نکنید من کم برنامه نویسی کردم و زیاد بارم نیست لاقل تو بسکام کم نمیارم
        برای نمونه با همین بسکام از خدا بی خبر مادر مرده من برنامه تابلو روانی نوشتم که خیلی ها خوابش رو هم نمیتونن ببینن
        فقط به بخشی از امکاناتش اشاره میکنم
        1-حافظه MMC و پشتیبانی از FAT
        2-نمایش تاریخ و روز هفته هم بصورت میلادی هم به صورت شمسی
        3-نمایش ساعت هم به صورت انگلیسی هم فارسی
        4-نمایش دما و رطوبت هوا هم به صورت انگلیسی هم به صورت فارسی
        5- 40 افکت متنوع که همگی توسط خود میکرو اجرا میشه نه توسط کامپیوتر
        6-امکان نمایش انیمیشن و عکس
        7- امکان کوک کردن تابلو جهت نمایش متن یا هرچیزی در روزی خاص و یاساعتی خاص
        8- و از همه مهمتر امکان انتخاب اندازه تابلو بدون تغییر در برنامه میکرو
        9- اندازه های متنوع از 8*8 تا 64*256 (بایک برنامه)
        و خیلی امکانات ریز و درشت دیگه که دیگه جاش اینجا نیست
        حالا این برنامه رو که توش از اکثر امکانات میکرو از قبیل SPI و I2C و ADC و تایمرها و کتابخانه های FAT و DS1307 و AVR-DOSو.....
        استفاده کردم فکر میکنین چند درصد حافظه مگا 128 پر شده؟؟؟؟؟؟
        فقط 68 درصد
        الان هم دارم روی تابلو 5 رنگ کار میکنم و با همین میکرو و همین BASCOM مادر مرده
        من دیگه نمیدونم چه کاری این بسکام باید انجام بده که شماها راضی باشید
        آیا منطقیه که من که هدفم از ساخت این تابلو تجاریه بیام این برنامه رو با اسمبلی بنویسم که شاید حداقل چند ده هزار خط فقط برنامش بشه که بعد نه خودت سر در بیاری چی شد نه دیگران اون هم با این FAT که نمیدونم با اسمبلی چه جوری باید راه انداختش!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        درضمن من هدفم از این پست تبلیغ نیست پس لطفا کسی برام پیام خصوصی یا ایمیل نفرسته
        و البته خدا رو شاهد میگیرم که هدفم هم قیافه گرفتن نیست فقط میخوام بگم که قدرت بسکام رو هم دست کم نگیرین
        هر کسی هم که با ساخت تابلو روان مشکل داشته باشه من مخلصش هستم و تا جایی که بتونم کمکش میکنم
        مخلص برو بچز باحال




        پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری

        دیدگاه


          #19
          پاسخ : اینتراپت خارجی به صورت نرم افزاری

          درضمن چند چیز رو یادم رفت
          ببینید این درست نیست که هرچی دوست داشتید بگید و آخر هم بگید اگه لحن بدی داشتم معذرت میخوام
          شما با این حرفهاتون به من و خیلیهایی که با بسکام و حتی کدویژن کار میکنند توهین کردید
          حلا شما کهنه کار و من امروز صبح برنامه نویسی رو از روی کتاب کاهه یاد گرفتم این دلیل نمیشه که حرف شما رو چشم و گوش بسته قبول کنم
          و دوم اینکه اصلا به من چه که بسکام بهتره یا کدویژن یا اسمبلی
          هرکی با هرچی راحت تره با اون کار کنه من که وکیل بسکام نیستم
          حالا هر کاری هم که دوست داره تو برنامه انجام بده
          مهم اینه که بسکام نیاز من رو تامین میکنه
          راستی این رو بدون غرض میگم خیلی علاقه مندم که ببینم اون چه ماژولی بوده که tiny داره و mega نداره
          اگه ممکنه شماره میکرو رو بدین تا شاید خواستم از این امکان tiny استفاده کنم و خدا رو چه دیدی شاید من هم اسمبلی کار شدم
          خوشحال میشم چند تا از اون برنامه هایی رو که با بسکام نمیشه نوشت هم معرفی کنید
          من تنها کاری که ندیدم کسی با بسکام انجام بده USB بوده (البته نمیگم نمیشه میگم ندیدم)
          راستی نظرتون در باره برنامه تابلو روان من با اسمبلی چیه؟؟ چند روز یا ماه طول میکشه تا مثل او رو بخوایین با اسمبلی بنویسید؟؟؟؟و البته از AVR-DOS و FAT یادتون نره :rolleyes:
          پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری

          دیدگاه


            #20
            پاسخ : اینتراپت خارجی به صورت نرم افزاری

            سعید جان مقداری از حرفات رو قبول دارم اما کامل نه، ترجیح میدم فعلا در این مورد بیشتر با شما بحث نکنم.
            -----------------------------------------------
            امیر آقای عزیز من هیچ اسراری ندارم که حرفم رو قبول کنید، توی امضام هم نوشتم که اگر خودم به چیزی که نوشتم مطمئن هستم شما مشکوک باشید، اما تا اونجا که اطلاع دارم نظراتم رو مینویسم.
            لینکی که شما نوشتی رو مطالعه کردم و با قاطعیت تمام باز هم میگم که برنامه ای رو که با اسمبلی بنویسیم ( اگر برنامه نویس ناشی نباشه ) نه تنها حجم برنامه نسبت به C و بیسیک کمتر میشه بلکه سرعت اجرای برنامه هم بیشتر میشه و اصلا هیچ ربطی هم به این نداره که چون به فایل HEX تبدیل میشه فرق نمیکنه، اتفاقا فرقش توی همون فایل HEX هست، وقتی برنامه ای توی C نوشته میشه این میاد اول تبدیلش میکنه به یک فایل اسمبلی بعد دوباره این فایل اسمبلی رو میکنه فایل HEX در صورتی که برنامه ای که برنامه نویس با اسمبلی مینویسه مستقیم به HEX تبدیل میشه، مثلا همین تابع delay_ms() خودش تبدیل میشه به چندین خط کد اسمبلی و بعد هم تبدیل میشه به کد HEX اما اون کد اسمبلی که کامپایلر C تولید میکنه از کد اسمبلی که برنامه نویس خودش مینویسه بیشتر هست و توی موارد دیگه هم همینطور هست، در نتیجه کد اسمبلی ای که کامپایلر تولید میکنه از کد اسمبلی که خود برنامه نویس مینویسه به مراتب بیشتر میشه و در نتیجه موقع تبدیل این دوتا اسمبلی ها به HEX هم طبیعی هست که اونی که کد اسمبلی بیشتری داره HEX بیشتری هم تولید میکنه و در نتیجه حجم برنامه زیادتر میشه، دلیل اینکه کد اسمبلی شما کمتر از مال کامپایلر میشه هم اینه که برنامه نویس با دستورات اسمبلی دقیقا کارهایی که خودش میخواد رو انجام میده و هیچ کار اضافی غیر ضروری انجام نمیده، در صورتی که کامپایلر چون دقیقا نمیدونه شما چی میخواید میاد برای احتیاط یکسری کارهای اضافی هم انجام میده که خطایی پیش نیاد و همین کارها هست که هم کدش رو بیشتر میکنه هم سرعت رو میاره پایین. حالا اگر شما برنامه نویس حرفه ای C باشید میتونید بیاید و با تکنیکهای خاص و تنظیمات مربوطه این کارهای اضافی رو تا حدی کم کنید یا با استفده کردن از اسمبلی در بین دستورات این مشکلات رو تا حدی جبران کنید اما یه مقدارش که کم هم نیست رو نمیشه هیچ کار کرد و به هر حال اضافه میشه. من خودم هم با C برنامه مینوشتم، حجم برنامه های اسمبلیم توی کار مشابه همیشه حداقل نصف برنامه C بود، اینجوری هم نبود که بگیم C رو ناشیانه مینوشتم چون میومدم و تا اونچا که میشد کارهای اضافی رو از توی تنظیمات حذف میکردم و برنامه C رو هم با تکنیکهای مخصوص خودش مینوشتم، حتی زمانی که بین برنامه C اسمبلی هم مینوشتم باز هم در کل حجم اسمبلی کمتر میشد. اگر زمانی حجم برنامه اسمبلی از C بیشتر شد مطمئن باشید ایراد از برنامه نویس اسمبلی هست.
            در مورد بیسکام هم من نسبت الکی ندادم، چندتا از ایرادهاش رو گفتم که واقعا داره، از اون طرف هم مزایاش رو گفتم. در مورد خودتون هم من هیچ وقت هچین جسارتی نمیکن که بگم بارتون نیست یا برنامه نویسی بلد نیستی، این کار تابلو روانی که شما کردی رو من نمیتونم بکنم، اصلا برام مهم نیست که شما پدر برنامه نویسی میکروکنترلر ایران باشی یا اینکه اصلا تا به حال دست به میکرو نزده باشی، من نظر خودم رو که فکر میکنم درست هست میدم.
            - 68 درصد حافظه مگا 128 هم حدودا میشه 65000 خط کد اسمبلی، برنامه بیسیک شما چند خط شده؟
            از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
            هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
            اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
            اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
            شاد و موفق باشید

            دیدگاه


              #21
              پاسخ : اینتراپت خارجی به صورت نرم افزاری

              امیر خان پست آخر شما رو بعد از اینکه پست اول رو فرستادم دیدم زمانی که اون رو مینوشتم نخوانده بودم به همین خاطر من هم دوباره مینویسم، این پست رو هم 4 بار نوشتم و پاک کردم چون خیلی بلند میشد و فکر کردم خواندنش خسته کننده میشه، آخر هم فرقی نکرد و ناگفته زیاد موند:
              اول و مهمتر از همه اینکه من کی گفتم شما از من همینجوری قبول کن؟ من قصد توهین کردن به کسی ندارم، کلا نوشته های انتقادی من تند هست، من کوچک تر از اونی هستم که به قصد توهین و تمسخر مطلبی بنویسم، مطمئن باشید پشت این نیش زبان ها چیزهای دیگه نهفته، چیزی که هست رو باید گفت، من نمیتونم ببینم دوستانم و هم رشته ایهام که باید خودشون حالا AVR طراحی کنند فقط برای رفع نیازشون با برنامه ای کار میکنند که اونهارو از یادگیری همه چیز محروم میکنه، اگر Bascom با این کتابخانه هاش نبود شما میرفتید پروتکل Fat رو یاد میگرفتید، MMC رو یاد میگرفتید، طرز کار LCD ها رو یاد میگرفتید و مهمتر از همه اینها خود میکروکنترلر رو میشناختید و تکنیکهای برنامه نویسی اسمبلی رو یاد میگرفتید، به زودی AVR و Bascom هر دو با هم از رده خارج میشند، کنترولر جدید که بیاد که دیگه Bascom نداره، میان میکروکنترلر میسازند با یکسری دستورالعمل های اسمبلی، بعد شما اگر اسمبلی بلد نباشید و معماری پایه میکروکنترلر هم درست یاد نگرفته باشید باید دست به دامنشون بشید تا براتون Bascom XYZ درست کنند، بعد تازه آغاز وابستگیتون هست، باید صبر کنید تا کتابخانه های LCD و MMC و ریموت کنترل و ..... رو براتون آماده کنند یا اینکه چند برابر زحمتی که حالا باید برای یادگیری اسمبلی و معماری پایه بکشید رو بعدا برای یادگیری یک معماری پیچیده تر بکشید، تازه تا شما بخواید یاد بگیرید اونا اومدن Bascom XYZ رو ساختند و شما دوباره روند یاد نگرفتنتون تکرار میشه، همونطور که Bascom 8051 شد Bascom AVR . شما که کار تجاری میکنی وضعیتت فرق میکنه و برات به صرفه نیست دیگه که بخوای وقت صرف کنی و از اول با اسمبلی یاد بگیری ( اگرجه میتونی همونطور که کار میکنی هم یاد بگیری ) ولی کسی که میخواد تازه یاد بگیره باید از ابتدا اصولی یاد بگیره که فردا حرفی برای گفتن داشته باشه، این که دیگران درست کنند و ما بدون اینکه چیزی یاد بگیریم فقط استفاده کنیم که نشد کار ( کاری به بحث سیاسی ندارم به طور کلی توی زندگی میگم ) درسته که باید از تجربیات دیگران استفاده کرد ولی نه دیگه اینجوری.
              ----------------------------
              به شما خیلی مربوط میشه که کدوم یکی بهتر هست، من خیلی راحت بخوام جوابتون رو بدم این میشه که هیچ کدوم بهتر نیست، هر کدوم مزایا و معایب خودش رو داره، من که این همه از اسمبلی تعریف کردم نمیگم بهتر از اونا هست که، میگم واجب تر هست، وگرنه خیلی مواقع که محدودیت های کاریمون کمتر هست میشه خیلی راحت از بیسیک و سی استفاده کرد و هیچ مشکلی هم پیش نمیاد.
              ---------------------------------
              تا اونجا که یادم هست این ماژول یک ماژول مدوله کننده سخت افزاری بود، توسط اون میشه یک قطار پالس قابل تنظیم روی پایه مربوطه داشته باشیم، یکی از کاربردهای مهمش هم توی فرستنده ریموت کنترل تلویزیون هست که سیاگنال از فرستنده باید با فرکانس خاصی مدوله بشه، اگرچه میشه این کار رو با نرم افزار انجام داد اما این ماژول سخت افزاریش هست که من یادم هست توی چند مدل که نگاه کردم فقط ATTINY28 این ماژول رو داشت ( Built-in-high-Currnet LED Driver with Programmable Modulation )
              ------------------------------
              معمولا میشه برنامه ها رو با بیسکام نوشت جز مواردی که شما محدودیت انتخاب آی سی دارید، مثلا من یک مورد داشتم که باید میکرو رو توی یک فضای خیلی کوچک جاسازی میکردم و مجبور بودم از یکی از Tiny ها استفاده کنم اما کاری که میکرو میکرد هم همچین کار ساده ای نبود و برنامش زیاد کوتاه نبود، توی اون مورد نمیشد از Bascom استفاده کرد و شاید با همون C هم نمیشد، اگر هم میشد به خوبی اسمبلی نبود، چیز دیگری هم که هست این هست که هیچ زبانی به اندازه اسمبلی نمیتونه توی سخت افزار میکرو نفوذ کنه، به خصوص Bascom که توی این مورد از C هم ضعیف تر هست، اگر کسی وارد باشه با اسمبلی میتونه برای میکرو ویروس درست کنه یا برنامه هایی بنویسه که مثلا میکرو 2 ساعت کار کنه بعد برای همیشه از کار بیوفته، همچنین برای نفوذ به تراشه و هک کردن و شکستن قفل و .. بهترین زبان همون اسمبلی هست چون بیشترین نفوذ رو توی سخت افزار داره.
              ----------------------------------
              برای کار با USB بهتر هست از میکروهایی استفاده کنید که خودش ماژول USB داشته باشه، فکر میکنم دوستان توی همین سایت AVR با ماژول USB معرفی کردند، توی میکروهای PIC سری 18 هم بعضی هاشون USB دارند ( USB2 هست که میتونه با سرعت کمتر هم کار کنه )
              ----------------------------------
              متاسفانه من خودم تابلو روان کار نکردم و فکر میکنم کار شما کار خیلی خوب و سنگینی هم هست، همونطور که گفتم از لحاظ حجم برنامه اگر به دلیل کم خوابی اشتباه حساب نکرده باشم حدود 65000 کد اسمبلی میشه ( یعنی اسمبلی ای که Bascom تولید کرده اینقدر شده اگر انسان بنویسه خیلی کمتر میشه ) و برنامه به این سنگینی با اسمبلی وقت زیادی میبره، البته برنامه نویسی اسمبلی اولش سخت هست که تا به حال با یکسری ادوات جانبی کار نکردی، یکبار که کار کنی عادی میشه و سریع میشه کدش رو نوشت، مثلا من حالا دیگه برای کار کردن با LCD اصلا فکر هم نمیکنم هنوز شروع نکرده تمام میشه، ولی اگر بخوام با یک وسیله جدید ارتباط برقرار کنم باید دفعه اول خیلی روش فکر کنم و معمولا اولش هم جواب نمیده اما روال کار که دست آدم بیاد خیلی راحت میشه نوشت به خصوص که کدهای اسمبلی کوتاه هستند و بیشتر فقط حرف و عدد میزنید و نیازی نیست از کلید های Shift و علامت ها استفاده کنید به همین خاطر چشمتون به مانیتور هست و دستتون به کیبورد و میتونید خیلی سریع دستورها رو بنویسید، اما کلا اسمبلی حساب کتاب زیاد داره و دقت میخواد. برنامه شما توی بیسیک چند خط شده؟ راستی یکی از مزایای اسمبلی این هست که شما هر خط کد برنامه که مینوسید بدون اینکه برنامه رو کامپایل ( برای اسمبلی میگن اسمبل ) کنید میدونید حجم برنامه تا اینجا چقدر شده، این خیلی کمک میکنه که اگر مشکلی از لحاظ حجم داشتید سریع متوجه بشید.
              در آخر باز هم از شما و سایر دوستان معذرت خواهی میکنم و اگر بی احترامی شده شما به بزرگی خودتون ببخشید، من نه ادعایی دارم و نه اهل مسخره کردن دیگران هستم فقط یه مقدار بهضی اوقات لحننم تند هست اونم باید تحمل کنید دیگه
              :smile:
              از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
              هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
              اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
              اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
              شاد و موفق باشید

              دیدگاه


                #22
                پاسخ : اینتراپت خارجی به صورت نرم افزاری

                آقا شرمنده این رو میتونین معنی کنین من زیاد زبانم خوب نیست
                Built-in-high-Currnet LED Driver with Programmable Modulation
                من که چیز دیگه ای دستگیرم میشه :mrgreen: :nerd:
                درمورد سرعت من خودم تست میکنم تا ببینم کی درست میگه
                درمورد اینکه هرکسی از هر چیزی که استفاده میکنه باید طرز کارش رو بدونه اصلا حرف شما رو قبول ندارم
                مگر انسان چقدر عمر میکنه و در طول عمرش چقدرش استعداد یادگیری داره که بخواد همه چیز رو بدونه
                مثلا شما از این تلویزیونی که استفاده میکنید همه کارهاش رو میدونید و مدارات داخلی همه آی سی هاش رو بلدید یا اصلا نیازی هست که بلد باشید یا مهم این کاریه که انجام میده؟؟؟؟؟؟؟؟؟؟
                من اگه بخوام این AVR-dos و FAT رو خودم بنویسم میدونید چقدر طول میکشه و اصلا اینکه میتونم یا نه که قطعا هم میگم من نمیتونم!!!!!!!!!!!
                همیشه موازی کاری باعث عقب موندگیه نه پیشرفت!
                اونی هم که شما میگید ما باید AVR درست کنیم اصلا مربوط به من نیست من تخصصم تو برنامه نویسیه اون مربوط به سخت افزاره به من چه ربطی داره؟
                مثل این میمونه که یک جراح مغز باید بتونه خودش قیچی جراحی تولید کنه یا یک خلبان بتونه پنچری هواپیما بگیره وگرنه باعث وابستگیه:mrgreen: :mrgreen:
                این خانه از پای بست ویران است :cry:
                همونجوری که من هنوز توی مایکرویو های ال جی میبنم که از Z80 استفاده میشه مطمعنم که AVR هم تا چند روزی دیگه بیشتر مهمان ما نیست!!!!!!
                الان هم نسل جدید AVR به نام XMEGA وارد بازار شده که با همون بسکام هم قابل برنامه نویسیه!!!
                یک سوال دیگه مگه یک mega8 SMD چقدر بزرگتر از یک TINY 8 پایه است که اینقدر برای شما مشکل ساز شده؟؟؟
                من دیگه ترجیح میدم این بحث رو ادامه ندم چون این راهی که ما میرویم به ترکستان است

                پروردگارا: به من زیستنی عطا کن که در لحظه مرگ بر بی ثمری لحظه ای که برای زیستن گذشته است حسرت نخورم، و مردنی عطا کن که بر بیهودگیش سوگوار نباشم. بگذار تا آن را خود انتخاب کنم، اما آنچنان که تو دوست میداری

                دیدگاه


                  #23
                  پاسخ : اینتراپت خارجی به صورت نرم افزاری

                  ----------------------
                  درایور داخلی LED با جریان بالا با مدولاتور قابل برنامه ریزی.
                  ----------------------
                  متاسفانه برداشت هاتون از صحبتهای من کاملا خلاف منظور من هست، نمیدونم من بلد نیستم منظورم رو بگم یا دیدگاه شما باعث میشه اینجوری برداشت کنید، چیزی که به تخصص شما مربوط هست رو باید خوب بشناسید، نه اینکه بسازیتش، برنامه نویسی میکرو از سخت افزارش جدا نیست، بین این همه نوشته شما اومدید یه راست اون کلمه ساختن رو که زیاد ربطی به شما نداشت برداشتید، همین جراح که شما مثال میزنید خودش قیچی نمیسازه اما خیلی خوب میدونه مشخصات قیچی جراحی که باهاش کار میکنه چیه و با قیچی های دیگه چه فرقهایی داره، اینجوری نیست که هر قیچی رسید دم دستش باش کار کنه و اون خلبانی که هواپیما رو هدایت میکنه بیشتر سیستم های هواپیما رو میدونه اگرچه نمیخواد محاسبات ایرداینامیک طراحی هواپیما رو انجام بده و نمیخواد پنچرگیری کنه، همونطور که راننده پایه یک ماشین سنگین کل سیستم مکانیکی کامیونش رو بلد هست ولی کاری به این نداره که چه آلیاژی برای ساخت قطعات به کار رفته. سعی کنید به چیزها نسبی نگاه کنید نه مطلق، این دیتاشیت 300 صفحه ای رو Atmel نوشته که کسی که میخواد با AVR کار کنه بخوانه و یاد بگیره درست باهاش کار کنه و از توانایی هاش درست استفاده کنه، یعنی شما اگر کامل اسمبلی رو یاد بگیرید و معماری کلی AVR رو متوجه بشید تازه شدید مثل اون خلبان که سیستمهای هواپیما رو سر در میاره نه اون کسی که هواپیما طراحی میکنه، ظاهرا شما فکر میکنید یاد گرفتن معماری AVR و اسمبلی کار پیچیده و کم فایده ای هست که فقط در صورتی لازم میشه که بخواید خیلی وارد جزئیات بشید در حالی که این چیزی هست که باید بلد باشید.
                  به جای Tiny از MEGA 8 اون هم SMD استفاده کنم؟!! به جان خودم توی برنامه نویسی میکرو روی اینکه برنامه یک دستور کمتر بشه کلی کار میکنند، برید نکته های اسمبلر MPASM رو نگاه کنید، ببینید چه روشهایی یاد داده که شما بتونید یک دستور کمتر استفاده کنید و کاری رو انجام بدید که میخواید انجام بدید، این همه توضیح داده و مثال زده که شما فقط یک word از حافظه رو صرفه جویی کنید بعد شما به من پیشنهاد میدید که به جای TINY از مگا8 SMD استفاده کنم و اگر قبول نکنم تعجب میکنید !!
                  ------------------
                  این خانه نه تنها از پایه ویران هست بلکه از بالا هم ویران هست چون خیلی معذرت میخوام پر هست از آدم های بی مصرف و پر توقع که حاضر نیستند به خودشون زحمتی بدند و کاری انجام بدن و فقط یاد گرفتند تقصیر رو بندازند روی یکی دیگه و خودشون رو راحت کنند و انتظار دارند فرشته نجات بیاد کشورشون رو درست کنه. ( دوباره فکر نکنید منظورم شما و برنامه نویسان Bascom هست )
                  باز هم میگم من انتظار ندارم با حرف های من موافق باشید، خودم هم ترجیح میدم این بحث رو ادامه ندم و تکرار مکررات نکنم.
                  از آنجا که گاهی فرصت بازخوانی پست نیست، بابت غلط های املایی و نگارشی احتمالی معذرت میخوام.
                  هیچیک از پاسخ هایی که میدم را کاملا تایید نمیکنم و ممکن هست اشتباه کرده باشم، اگر من به نوشته ام مطمئن هستم شما مشکوک باشید.
                  اگر در حل مشکل من کمک کردید و دکمه تشکر رو نزدم حتما فراموش کردم کوچکترین کمک شما برایم ارزشمند است!
                  اگر به هر طریقی از من ناراحت شدید حتما با یک پیام خصوصی تذکر بدهید تا مشکل رو حل کنیم و رابطه ی صمیمانه، پایدار بماند.
                  شاد و موفق باشید

                  دیدگاه

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