اطلاعیه

Collapse
No announcement yet.

شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی لمسی

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

    پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی لمسی

    نوشته اصلی توسط NH122
    با سلام
    آقای اسدی میشه main پروژتون یعنی توابع و وقفه هایی که به کار بردید را توضیح بدید؟
    برای خودم جالب در مورد تابع اسکرول و نحوه تنظیم volume بر روی اون رو بدونم؟

    یه سوال دیگه این که.. من دقیق وظیفه و عملکرد توابع VS1003B_Fill2048Zero و char VS1003B_NeedData توی فایل VS1003 رو متوجه نشدم اگه لطف کنید بگید که این توابع برای چی تعریف شدن ممنون میشم.

    ممنون
    دوست من لطفا پستهای قبل رو مطالعه کنید
    در پست های قبل یه توضیحاتی دادم اگر کافی نبود بفرمایید تا بیشتر توضیح بدم

    به همین سادگی :nice:
    تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
    به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

    دیدگاه


      پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی لمسی

      باور کنید من تمام پست ها از اول تا حالا رو کامل و دقیق خوندم ولی
      در مورد اینایی که گفتم چیزی نبود oo:
      آمده ایم که با زندگی کردن قیمت بگیریم
      نیامده ایم که با هر قیمتی زندگی کنیم

      دیدگاه


        پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی لمسی

        نوشته اصلی توسط NH122
        خدا خیرتون بده بالاخره با گذاشتن اون تابع mem_cpyf درست شد :nice:

        خیــــــــــــــــــــــــــــــلی ممنون :smile:
        یه مشکل دیگه پیش اومد :cry:
        وقتی کامپایل کردم اون سه تا ارور حل شدولی وقتی بیلدش میکنم بهم سه تا ارور زیر رو میده :sad:
        function 'disk_write' declared, but never defined

        مشکل چیه؟؟
        آمده ایم که با زندگی کردن قیمت بگیریم
        نیامده ایم که با هر قیمتی زندگی کنیم

        دیدگاه


          پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی لمسی

          سلام
          عیدتون مبارک :smile:
          کسی پیدا نمیشه جواب سوالای منو بده :sad:
          فکر کنم همه رفتن مسافرت... :rolleyes:
          آمده ایم که با زندگی کردن قیمت بگیریم
          نیامده ایم که با هر قیمتی زندگی کنیم

          دیدگاه


            پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی لمسی

            نوشته اصلی توسط NH122
            یه مشکل دیگه پیش اومد :cry:
            وقتی کامپایل کردم اون سه تا ارور حل شدولی وقتی بیلدش میکنم بهم سه تا ارور زیر رو میده :sad:
            function 'disk_write' declared, but never defined

            مشکل چیه؟؟
            سلام
            با اجازه جناب اسدی
            خب این ارور می گه که تابع disk_write اعلان شده، اما جایی تعریف نشده
            اگر مایلید فایل پروژتون رو زیپ و پلود کنید تا ببینم چرا این ارور رو داده(چون حدس میزنم تابع هم اعلان و هم تعریف شده، اما یک جای دیگه ایراد داره)
            اونچیزی که در دانشگاه یاد میگیرید، "الفبایی" هست برای نوشتن یک "رمان" !!

            دیدگاه


              پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی لمسی

              سلام و ممنون از جوابتون
              همون کد آقای اسدی رو من کامپایل کردم و بعد بیدلش که کردم بهم این ارور رو داد
              ولی خداییش راست میگه این فایل diskio توی پروژه فقط هدرفایلش هست
              تعریف توابعش تو کدوم فایل؟؟؟

              بازم ممنون
              آمده ایم که با زندگی کردن قیمت بگیریم
              نیامده ایم که با هر قیمتی زندگی کنیم

              دیدگاه


                پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی

                نوشته اصلی توسط NH122
                سلام و ممنون از جوابتون
                همون کد آقای اسدی رو من کامپایل کردم و بعد بیدلش که کردم بهم این ارور رو داد
                ولی خداییش راست میگه این فایل diskio توی پروژه فقط هدرفایلش هست
                تعریف توابعش تو کدوم فایل؟؟؟

                بازم ممنون
                با سلام و تبریک عید

                لطفا _FS_READONLY رو در فایل ffconf.h برابر یک بکنید مشکل حل میشه
                در ضمن کاش از همون ورژن 2.04.4a استفاده میکردید تا این مشکلات رو نداشته باشید در همون پست دوم در موردش توضیح داده بودم

                راستی توابع نامفهوم رو لطفا یکی یکی بفرمایید تا در موردشون توضیح بدم به خدا همه با هم نمیشه

                خود تابع disk_write هم اخرین تابع در فایل mmc.c هست ولی کامنت شده چون نیازی بهش نیست
                به همین سادگی :nice:
                تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                دیدگاه


                  پاسخ : پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی

                  نوشته اصلی توسط POLESTAR
                  با سلام و تبریک عید

                  لطفا _FS_READONLY رو در فایل ffconf.h برابر یک بکنید مشکل حل میشه
                  در ضمن کاش از همون ورژن 2.04.4a استفاده میکردید تا این مشکلات رو نداشته باشید در همون پست دوم در موردش توضیح داده بودم

                  راستی توابع نامفهوم رو لطفا یکی یکی بفرمایید تا در موردشون توضیح بدم به خدا همه با هم نمیشه

                  خود تابع disk_write هم اخرین تابع در فایل mmc.c هست ولی کامنت شده چون نیازی بهش نیست
                  به همین سادگی :nice:

                  سلام
                  ممنون از راهنماییتون درست شد :smile:
                  راستش آقای اسدی من تقریبا بیشتر کدهای شما رو خوندم و
                  با خوندن هر کدوم از فایل ها کلی شما رو تحسین کردم :applause: واقعا عـــــــــــــــــــــالی نوشتید کاملا مشخص که یه فکر پربار پشتش :agree:
                  من که تازه کارم خیلی توابع برام نامفهوم بود که بعضیاش حل شد ولی بعضی از توابع را واقعا متوجه نمیشم چیکار میکنن
                  سعی می کنم توابعی که نامفهوم یکی یکی بپرسم

                  ممنون از اینکه وقت میذارید و جواب میدید.
                  آمده ایم که با زندگی کردن قیمت بگیریم
                  نیامده ایم که با هر قیمتی زندگی کنیم

                  دیدگاه


                    پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی لمسی

                    میشه تابع ایجاد Scrollbar رو توضیح بدید و اینکه کلا چطوری تنظیمات صدا و .. رو روش انجام میدید؟؟

                    ممنون :smile:
                    آمده ایم که با زندگی کردن قیمت بگیریم
                    نیامده ایم که با هر قیمتی زندگی کنیم

                    دیدگاه


                      پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی

                      نوشته اصلی توسط NH122
                      میشه تابع ایجاد Scrollbar رو توضیح بدید و اینکه کلا چطوری تنظیمات صدا و .. رو روش انجام میدید؟؟

                      ممنون :smile:
                      با سلام خدمت شما و تشکر از پشت کار شما

                      از ادیسون پرسیدند چی شد که لامپ رو اختراع کردی؟ گفت : 99 تا راه پیدا کردم که نمیشه از این راه ها لامپ درست کرد!!!!

                      ببینید این تابع Scrollbar ربطی به صدا نداره این تابع فقط قسمت گرافیکی و شکل های گرافیکی اسکرول رو ایجاد میکنه همین

                      شکل کلی تابع به این صورت هست

                      کد:
                      ScrollBar(x1,x2,y1,y2,tep,maxstep)


                      x1 و x2 و y1 و y2 موقعیت و اندازه های طول و عرض شکل گرافیکی رو میگیره و tep هم موقعیت جایی هست که ناچ برمیگردونه برای کنترل قسمت متحرک اسکرول و maxstep هم مقدار ماکزیمم استپ های اسکرول هست و مقدار انتخاب شده رو برمیگردونه

                      بنده از این تابع مثلا برای زمانی استفاده کردم که تعداد فایلهای یک پوشه بشتر از مقدار قابل نمایش روی LCD باشه تا بتونم به صورت اسکرول نمایش بدم مثل زمانی که توی ویندوز شما برای دیدن فایل های پایینتر پوشه اسکرول رو پایین یا بالا میبرید

                      شما میتونید با قرار دادن تعداد بیش از 25 فایل در یک پوشه این مورد رو روی برد تست کنید

                      به همین سادگی :nice:
                      تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                      به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                      دیدگاه


                        پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی لمسی

                        ممنون از توضیحاتتون.
                        توی همین تابع Scroll خط
                        کد:
                        yy = (y2 - y1 - 6)/(maxstep-11);
                        متغییر yy چیه؟ و بر چه اساسی شما این متغییر رو این طوری به دست آوردید؟ یعنی این 6و 11 قضیش چیه؟!!
                        راستی من توی این پروژه به دو مورد ایراد برخوردم..
                        یکی اینکه وقتی یه آهنگ داره پخش میشه و اسکرول مربوط به لیست آهنگ هامون رو جابجا می کنم آهنگ قطع و وصل میشه؟؟
                        و اینکه وقتی یه آهنگ داره پخش میشه و علامت < کنارش نشون داده میشه اگه یه آهنگ دیگه رو انتخاب کنم این علامت هم کنار آهنگ قبلی هم در کنار آهنگ فعی که داره پخش میشه نشون داده میشه ؟؟!!! ولی اگه با آیکن عقب و جلو کردن، آهنگ رو عقب و جلو کنم به این مشکل برنمی خورم!!!!
                        آمده ایم که با زندگی کردن قیمت بگیریم
                        نیامده ایم که با هر قیمتی زندگی کنیم

                        دیدگاه


                          پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی

                          نوشته اصلی توسط NH122
                          ممنون از توضیحاتتون.
                          توی همین تابع Scroll خط
                          کد:
                          yy = (y2 - y1 - 6)/(maxstep-11);
                          متغییر yy چیه؟ و بر چه اساسی شما این متغییر رو این طوری به دست آوردید؟ یعنی این 6و 11 قضیش چیه؟!!
                          راستی من توی این پروژه به دو مورد ایراد برخوردم..
                          یکی اینکه وقتی یه آهنگ داره پخش میشه و اسکرول مربوط به لیست آهنگ هامون رو جابجا می کنم آهنگ قطع و وصل میشه؟؟
                          و اینکه وقتی یه آهنگ داره پخش میشه و علامت < کنارش نشون داده میشه اگه یه آهنگ دیگه رو انتخاب کنم این علامت هم کنار آهنگ قبلی هم در کنار آهنگ فعی که داره پخش میشه نشون داده میشه ؟؟!!! ولی اگه با آیکن عقب و جلو کردن، آهنگ رو عقب و جلو کنم به این مشکل برنمی خورم!!!!
                          با سلام
                          خانم حجاب دوست این برنامه کلا جنبه اموزشی داره و داشتن همچین مشکلات و ایرادات بدهی هست شما هم جدی نگیرید

                          اما در مورد اون 6 و 11 باید بگم این عداد برای این هست که بتونم شکل های مربع یا خطوط رو به درستی یر جاشون قرار بدم
                          شما میتونید با کم و زیاد کردن این اعداد دقیقا کارشونو در عمل ببینید

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

                          به همین سادگی :nice:
                          تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                          به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                          دیدگاه


                            پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی لمسی

                            چشم منم جدیش نمیگیرم :biggrin:
                            آقای اسدی این پروژه رو میتونیم با نرم افزاری مثل Altium Designer شبیه سازیش کرد و این سعی و خطاها رو روی اون شبیه سازی انجام بدیم؟؟ من میخاستم با پروتئوس این کار رو بکنم ولی کتابخونه این LCD یا یه سری قطعات دیگه رو نداشت!!!

                            با عرض شرمندگی :redface:سه تا سوال دیگه دارم :
                            یه سوال از سخت افزار : قطعه ای که روی شماتیک به اسم BAT BAK هست چیه؟؟
                            دو تا سوال از کد :
                            1) دو تابع VS1003B_Fill2048Zero و char VS1003B_NeedData چیکار می کنند؟
                            2) الگوریتم کلی کالیبره کردن تاچ اسکرین توی تابع AppCalibrateScreen به چه صورته؟ (توضیحاتی که قبلا درمورد این تابع دادید خوندم میخام بیشتر درمورد خود تابع بدونم که چطور این کار رو انجام میده!!!)
                            آمده ایم که با زندگی کردن قیمت بگیریم
                            نیامده ایم که با هر قیمتی زندگی کنیم

                            دیدگاه


                              پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی

                              نوشته اصلی توسط NH122
                              چشم منم جدیش نمیگیرم :biggrin:
                              آقای اسدی این پروژه رو میتونیم با نرم افزاری مثل Altium Designer شبیه سازیش کرد و این سعی و خطاها رو روی اون شبیه سازی انجام بدیم؟؟ من میخاستم با پروتئوس این کار رو بکنم ولی کتابخونه این LCD یا یه سری قطعات دیگه رو نداشت!!!

                              با عرض شرمندگی :redface:سه تا سوال دیگه دارم :
                              یه سوال از سخت افزار : قطعه ای که روی شماتیک به اسم BAT BAK هست چیه؟؟
                              دو تا سوال از کد :
                              1) دو تابع VS1003B_Fill2048Zero و char VS1003B_NeedData چیکار می کنند؟
                              2) الگوریتم کلی کالیبره کردن تاچ اسکرین توی تابع AppCalibrateScreen به چه صورته؟ (توضیحاتی که قبلا درمورد این تابع دادید خوندم میخام بیشتر درمورد خود تابع بدونم که چطور این کار رو انجام میده!!!)
                              با سلام
                              اولا Altium Designer کارش شبیه سازی میکرو نیست و برای شبیه سازی FBGA ها و گیتهای مشابه طراحی شده و از همه مهمتر طراحی PCB و شماتیک پروژه ها هست از طرفی این پروتوس هم توی شبیه سازی یه چشمکزن گیر میکنه چه برسه به شبیه سازی این پروژه
                              بنده شبیه سازی هیچ پروژه ای رو به این صورت توصیه نمیکنم این کار موجب پایین اومدن تجارب عملی میشه
                              شبیه سازی برای اندازه گیری خروجیه فیلتر ها یا تقویت کننده های و اپ امپ ها یا یه همچین کارهایی هست و به صورت تیکه تیکه (سیمولاتورها با شبیه سازها فرق دارن) و برای بالا بردن امنیت کاری و بالا رفتن اطمینان از کار انجام میشه.
                              در ضمن خانم حجاب دوست بدجور گیر دادین به اون کانکتور 2 پین پاطری ها این قطعه ای که میفرمایید همون سوکت یا کانکتور 2 پین باطری هست

                              اما در مورد دو تابع VS1003B_Fill2048Zero و VS1003B_NeedData :
                              ما میتونیم هر بار 32 بایت دیتا رو در رجیستر های وردی VS1003 بریزیم تا دیکد بشه و در حافظه خروجی FIFO که 2048 بایت هست قرار بگیره و با چک کردن تابع VS1003B_NeedData میفهمیم کی باید 32 بایت جدید رو در رجیستر ورودی VS1003 قرار بدیم (با 1 بودن خروجی این تابع 32 بایت دیتای جدید رو در رجیستر VS1003 میریزیم)
                              و با تابع VS1003B_Fill2048Zero هم 2048 بایت حافظه خروجی FIFO دیکدر VS1003 رو پاک میکنیم (مقدارشو 0 میکنیم)

                              FIFO و LIFO دو آرایش از چینش مقادیر در حافظه هست . FIFO یعنی First In First Out . یعنی اونی که اول میاد اول هم میره . به این نحوه چینش Queue یا صف هم گفته میشه . این خاصیت هم روی سخت افزار و هم روی نرم افزار قابل پیاده سازیه . مثل Buffer . بافر اطلاعات رو میگیره و به ترتیب پشت سر هم میچینه تا اونایی که اول اومدن خارج بشن .
                              مورد بعدی LIFO یا Last In First Out هست . یعنی اونی که آخر اومده اول هم میره بیرون . تو سخت افزار معمولا این خاصیت مال Stack یا پشته هست . پشته برای یسری اهداف خاص مثل فراخوانی توابع بکار میره . میشه با نرم افزار هم این خاصیت رو شبیه سازی کرد . بعنوان نمونه برای یک پشته نرم افزاری ، فکر کنید باید یه برنامه بنویسید که تشخیص بده آیا به تعدادی پرانتز باز که در یک متن وجود داره پرانتز بسته شده یا نه . ابتدا با شناسایی پرانتز های باز پشته از مقدار 0 به بالا میاد مثلا 10 برای 10 پرانتز باز ، و سپس با پیدا کردن هر پرانتز بسته یک واحد از آخر پشته کم میشه اگه به صفر رسید یعنی تعداد درسته .

                              خسته شدم چقدر حرف زدم و فکر کردم و تایپ کردم ........
                              امیدوارم کافی باشه

                              به همین سادگی :nice:
                              تجربه معلم خشنی هست اول امتحان میگیره بعد درس میده !!!
                              به دلیل برخی مشکلات بوجود اماده دیگه امکان ادامه فعالت در این انجمن مقدور نیست.

                              دیدگاه


                                پاسخ : شما هم میتونید MP3 Player بسازید اونهم با LCD رنگی لمسی

                                به عنوان یه پیش کسوت ممنون از راهنمایی هاتون در مورد شبیه سازی
                                من به خاطر اینکه پروژه های دانشگاه رو اکثرا با یه نرم افزاری شبیه سازی میکردیم بعد می ساختیم این سوال رو پرسیدم
                                حرف شما کاملا درسته چون چیزی که تو شبیه سازی جواب میداد تو عمل جواب نمیداد!!!

                                ببخشید که وقتتون رو گرفتم و خسته شدید :redface:

                                ممنون که به سوالام جواب دادید خوب و کافی بود :agree:
                                آمده ایم که با زندگی کردن قیمت بگیریم
                                نیامده ایم که با هر قیمتی زندگی کنیم

                                دیدگاه

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