اطلاعیه

Collapse
No announcement yet.

پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

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

    پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

    نوشته اصلی توسط mohammad...
    سلام شما صبر کن پروژه ام داره تموم میشه همه اونایی که گفتی هستش وقت ندارم اینجا توضیح بدم
    خیلی ممنون
    چه قدر کار داره ؟
    حالا نمیشه یه توضیح کوچولویی هم بدی ؟؟؟؟
    روزی که درک کردیم همه چیز به خدا تعلق دارد . آن روز .روز طلوع دانش است

    دیدگاه


      پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

      نوشته اصلی توسط جعفر رضائی
      خیلی ممنون
      چه قدر کار داره ؟
      حالا نمیشه یه توضیح کوچولویی هم بدی ؟؟؟؟
      سلام دوست عزیز نه تقربا تا 10 روز دیگه اینجا قرار می دم
      روش کار به این صورت هست که
      برای بردن اهنگ به جلو و عقب
      شما باید ابتدا تعداد فایل های mp3 رو جست و جو کرده و توی یک فایل تکست ذخیره کنید البته قبل از ذخیره سازی هم هر بار که یه فایل mp3 پیدا کرد و می خواد تو فایل تکست ذخیره کنه اولش یه شماره می ذاره که بعدا بشه با این شماره ها آهنگ رو جلو و عقب کرد مثال زیر رو ببین
      1.mp3
      یعنی اسم فایل یک دات ام پی تری هستش حالا می خواییم به این یه شماره اضافه کنیم به صورت زیر
      یه متغیر تعریف می کنیم که به ازای هر فایلی که پیدا میکنه اون هم افزایش داشته باشه یهعنی برای آهنگ اولی که پیدا کرده مقدار یک داشته باشه و برای اهنگ دهمی که پیدا می کنه مقدار 10 داشته باشه حالا ما باید این متغیری که به ازای هر آهنگ تغییر میکنه رو به رشته تبدیل کنیم و نام آهنگ اصلی رو با این رشته ی متغیر جمع میکنیم به صورت زیر
      s=رشته یا شناسه هر آهنگ + نام اصلی آهنگ
      مثلا طبق مثال بالا برای آهنگ اول اینطوری میشه
      s=11.mp3
      یک اولی مربوط به شناسه آهنگ هست ولی شماره دوم مربوط به خود آهنگ هست ولی اینجا یه مشکلی وجود دارد یعنی اگه ما دنبال آهنگ یازده بگردیم این آهنگ رو پیدا میکنه و برای ما نمایش میده یعنی برای آهنگ یازده ما باید دو کاراکتر از سمت چپ بخوانیم ولی طبق مثال بالا آهنگ اولی به جای اهنگ یازده اشتباه می شود پس برای غلبه بر این مشکل به صورت زیر اصلاح میکنیم

      s=رشته یا شناسه هر آهنگ +چند تا فاصله+ نام اصلی آهنگ که به صورت زیر می شود

      s=1 1.mp3
      مشکل برطرف شد حال می توانیم کل فایل های mp3 را با یک شناسه در یک فایل تکست ذخیره کنیم روش جلو بردن و عقب بردن هم بدین صورت هست که یه متغیر تعریف میکنیم مثلا b حالا ما وقتی یه آهنگ رو جلو میندازیم این متغیر افزایش پیدا میکنه مثلا قبلا آهنگ نهم رو می خوند حال یه دونه افزایش دادیم شد 10 خوب لیست mp3 رو باز میکنیم و خطوطش رو از اول می خونیم چون شماره ما دورقمی هستش دوتا از کاراکتر اول هر فایل رو می خوانیم و از رشته درمیاریم و به عدد تبدیل می خونیم اگر مقدار عدد جستجو یا شناسه هر آهنگ برابر با 10 شد اون اهنگ رو انتخاب میکنیم برای عقب بردن هم دقیقا همینطوری هستش یعنی اگر آهنگ نهم رو می خوند یه دونه کاهش میدیم مثلا شد 8 حالا شناسه آهنگ هشتم رو پیدا میکنیم و پخش میکنیم اینطوری اهنگ به عقب گردید
      البته برای بالا بردن سرعت من هر 10 تا آهنگ رو در یک فایل تکست ذخیره کرده ام که هنگام جستجو بلافاصله اهنگ رو پیدا کنه و سرعتش کاهش پیدا نشه
      البته شاید اگه برنامه رو ببینی بهتر درک کنی این از جلو و عقب بردن اهنگ با این روش البته روش دیگر و بهتری نیز وجود دارد که متاسفانه هر چقد سعی کردم نتوانستم اجراش کنم اون هم کار کردن با دستور seek هستش که خط مشخصی از فایل تکست رو می خونه و زمان هدر نمیره
      اگه مفید بود بقیش هم بگو بگم
      برد جوجه کشی:
      مطالعه پست 1 (حتما مطالعه کنید)


      مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

      دانلود

      توجه:
      این برد نیمه صنعتی و خانگی هست...
      برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

      آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

      دیدگاه


        پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

        نوشته اصلی توسط mohammad...
        سلام دوست عزیز نه تقربا تا 10 روز دیگه اینجا قرار می دم
        روش کار به این صورت هست که
        برای بردن اهنگ به جلو و عقب
        شما باید ابتدا تعداد فایل های mp3 رو جست و جو کرده و توی یک فایل تکست ذخیره کنید البته قبل از ذخیره سازی هم هر بار که یه فایل mp3 پیدا کرد و می خواد تو فایل تکست ذخیره کنه اولش یه شماره می ذاره که بعدا بشه با این شماره ها آهنگ رو جلو و عقب کرد مثال زیر رو ببین
        1.mp3
        یعنی اسم فایل یک دات ام پی تری هستش حالا می خواییم به این یه شماره اضافه کنیم به صورت زیر
        یه متغیر تعریف می کنیم که به ازای هر فایلی که پیدا میکنه اون هم افزایش داشته باشه یهعنی برای آهنگ اولی که پیدا کرده مقدار یک داشته باشه و برای اهنگ دهمی که پیدا می کنه مقدار 10 داشته باشه حالا ما باید این متغیری که به ازای هر آهنگ تغییر میکنه رو به رشته تبدیل کنیم و نام آهنگ اصلی رو با این رشته ی متغیر جمع میکنیم به صورت زیر
        s=رشته یا شناسه هر آهنگ + نام اصلی آهنگ
        مثلا طبق مثال بالا برای آهنگ اول اینطوری میشه
        s=11.mp3
        یک اولی مربوط به شناسه آهنگ هست ولی شماره دوم مربوط به خود آهنگ هست ولی اینجا یه مشکلی وجود دارد یعنی اگه ما دنبال آهنگ یازده بگردیم این آهنگ رو پیدا میکنه و برای ما نمایش میده یعنی برای آهنگ یازده ما باید دو کاراکتر از سمت چپ بخوانیم ولی طبق مثال بالا آهنگ اولی به جای اهنگ یازده اشتباه می شود پس برای غلبه بر این مشکل به صورت زیر اصلاح میکنیم

        s=رشته یا شناسه هر آهنگ +چند تا فاصله+ نام اصلی آهنگ که به صورت زیر می شود

        s=1 1.mp3
        مشکل برطرف شد حال می توانیم کل فایل های mp3 را با یک شناسه در یک فایل تکست ذخیره کنیم روش جلو بردن و عقب بردن هم بدین صورت هست که یه متغیر تعریف میکنیم مثلا b حالا ما وقتی یه آهنگ رو جلو میندازیم این متغیر افزایش پیدا میکنه مثلا قبلا آهنگ نهم رو می خوند حال یه دونه افزایش دادیم شد 10 خوب لیست mp3 رو باز میکنیم و خطوطش رو از اول می خونیم چون شماره ما دورقمی هستش دوتا از کاراکتر اول هر فایل رو می خوانیم و از رشته درمیاریم و به عدد تبدیل می خونیم اگر مقدار عدد جستجو یا شناسه هر آهنگ برابر با 10 شد اون اهنگ رو انتخاب میکنیم برای عقب بردن هم دقیقا همینطوری هستش یعنی اگر آهنگ نهم رو می خوند یه دونه کاهش میدیم مثلا شد 8 حالا شناسه آهنگ هشتم رو پیدا میکنیم و پخش میکنیم اینطوری اهنگ به عقب گردید
        البته برای بالا بردن سرعت من هر 10 تا آهنگ رو در یک فایل تکست ذخیره کرده ام که هنگام جستجو بلافاصله اهنگ رو پیدا کنه و سرعتش کاهش پیدا نشه
        البته شاید اگه برنامه رو ببینی بهتر درک کنی این از جلو و عقب بردن اهنگ با این روش البته روش دیگر و بهتری نیز وجود دارد که متاسفانه هر چقد سعی کردم نتوانستم اجراش کنم اون هم کار کردن با دستور seek هستش که خط مشخصی از فایل تکست رو می خونه و زمان هدر نمیره
        اگه مفید بود بقیش هم بگو بگم
        با سلام
        از اینکه صبورانه به سوال هام جواب میدیم ممنونم
        ولی منظور من اصلا این نیست .من با عمل کرد میکرو مشکلی ندارم و میتونم با فایل های داخل مموری هر طور که نیاز باشه کار کنم .مشکل من در مورد کار با ای سی vs هست که اگه دقت کنید سوال هام کاملا روشن هست .بازم اگه بخاین بیشتر درمورد توضیح میدم
        روزی که درک کردیم همه چیز به خدا تعلق دارد . آن روز .روز طلوع دانش است

        دیدگاه


          پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

          نوشته اصلی توسط جعفر رضائی
          با سلام
          من با استفاده از برنامه دوستان تونستم این ایسی رو راه بندازم ولی برام چند تا سوال(مشکل)وجود داره. ممنون میشن دوستان کمک کنند
          1:اگه حین پخش یک اهنگ بخایم اهنگ بعدی رو پخش کنیم (عمل کرد دکمه next و prev دقیقا باید چیکار کنیم (البته منظورم اینه که با ای سی vs چیکار کنیم )؟
          2:برای ایجاد حالت play/pause باید چیکار کنیم؟
          3:بعد از اینکه یک اهنگ به پایان رسید باید به صورت نرمافزاری ریست کنیم یا نیازی نیست ؟
          4:اگه بخایم اهنگ رو کمی جلو یا عقب کنیم باید چیکار کنیم ؟
          1:اگه حین پخش یک اهنگ بخایم اهنگ بعدی رو پخش کنیم (عمل کرد دکمه next و prev دقیقا باید چیکار کنیم (البته منظورم اینه که با ای سی vs چیکار کنیم )؟
          سلام منضورتان را الان متوجه شدم اگر در حین دیکود vs1003 آهنگ رو عوض کنیم هیچ تنظیماتی درباره vs1003 لازم نیست فقط باید بافر 512 بایتی که از mmc میگیره رو 0 کنیم و همچنین بافر vs1003 که برای خالی کردنش هم کدهای صفر رو به بافرش ارسال میکنیم تا هنگام پخش اهنگ بعدی بافرش از آهنگ قبلی پاک شده باشد ریست هم لازم نیست فقط تنظیمات در مرحله ی اول که آیسی راه اندازی میشود لازم هست

          2:برای ایجاد حالت play/pause باید چیکار کنیم؟
          منظورتان این است که با vs1003 آهنگ رو پلی و استوپ کنین :eek: این که نمیشه باید روند ارسال اطلاعات از mmc به vs1003 قطع شود ولی آدرس ادامش نباید فراموش شود برای این کار می تونید برای نگه داشتن اهنگ ، یه حلقه do loop ایجاد کنید و هر وقت کلید استوپ زده شد به داخل اون حلقه وارد کنین و داخل حلقه باز هم کلید رو تعریف کنین که در صورت زده شدن از حلقه بیاد بیرون

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

          اگه بخایم اهنگ رو کمی جلو یا عقب کنیم باید چیکار کنیم ؟
          دوست من با vs1003 که نمیشه یا اگرم بشه من نمیدونم
          من این کار رو کردم چون هر سکتور 512 بایت هست و شما اگر بخوایین آهنگ را با زدن کلید 10 برابر جلو بندازین با ید هنگام پخش آهنگ از ابتدا یه متغیر تعریف کنید از نوع long بعد این متغیر رو در برنامه اصلی + 512 کنید
          مثلا g=g+512 حالا این ادرس هست که از ابتدای اهنگ در هربار که از mmc پانصد و دوازده بایت خوانده می شود به این آدرس نیز اظافه میشود حال اگر بخواهین آهنگ رو جلو بندازید باید اون g رو ضربدر 10 کنید بعد یه شرط بذارین که اگر کلید من زده شد برو به این ادرس و بخوان به صورت زیر

          Get #ff , Buffer(1) , , 512

          این آدرس خواندن در برنامه اصلی هست یعنی زمانی هست که کلید زده نباشد ولی اگر کلید زده شده باشد
          باید آدرس به mmc فرستاده شود تا از ان آدرس به بعد شروع به خواندن اطلاعات کند به صورت زیر
          Get #ff , Buffer(1) ,g , 512
          این دستور فقط باید هنگام زده شدن کلید اجرا شود
          مقدار g هم نباید از قالب 512 بایتی خود خارج شود یعنی اگر بشود 511 mmc ریست میشود و این درست نیست
          هر چقدر g رو به عدد بزرگتر ضرب کنیم آهنگ بیشتر جلو و عقب خواهد رفت البته باید به تمام شدن اهنگ هم توجه داشت و بیشتر از آدرس آهنگ نخواند
          بقیش هم اگر این مطالب مفید بودند بگین تا بگم
          برد جوجه کشی:
          مطالعه پست 1 (حتما مطالعه کنید)


          مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

          دانلود

          توجه:
          این برد نیمه صنعتی و خانگی هست...
          برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

          آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

          دیدگاه


            پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین &#1

            سلام به همه
            من برای کار با vs1003 برد آماده رو از فروشگاه eca سفارش دادم.
            اگر spi رو سخت افزاری تنظیم کنم و پایه های miso ,mosi,sck رو برای vs1003 و sd card مشترک بگیرم و توسط xcs ,xdc , cs که جهت انتخاب چیپ می باشن بین sd card و vs1003 جابجا بشم مشکلی بهم نمیزنه؟
            نیمه شعبان بر همه مبارک
            ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
            شهید دکتر مصطفی چمران
            اللهم صل علی محمد و ال محمد و عجل فرجهم
            ; C is not for children

            دیدگاه


              پاسخ : پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین 

              نوشته اصلی توسط مهدی رهی
              سلام به همه
              من برای کار با vs1003 برد آماده رو از فروشگاه eca سفارش دادم.
              اگر spi رو سخت افزاری تنظیم کنم و پایه های miso ,mosi,sck رو برای vs1003 و sd card مشترک بگیرم و توسط xcs ,xdc , cs که جهت انتخاب چیپ می باشن بین sd card و vs1003 جابجا بشم مشکلی بهم نمیزنه؟
              نیمه شعبان بر همه مبارک
              سلام
              من هم میلاد با سعادت امام دوازدهم را برهمه مسلمانان به ویژه بر عاشقان آن حضرت تبریک و تهنیت عرض میکنم
              ببینید شما می توانید برای راه اندازی vs1003 هم از مد spi استفاده کنید و هم از مد shiftout
              اگر از مد spi استفاده کنید تقربا سرعت انتقال اطلاعات تقریبا دو برابر خواهد شد و این خیلی خوب هست ولی من بدین صورت پیکره بندی کردم برای vs1003 از دستور shiftout استفاده کردم یعنی از lمد spi استفاده نکردم ولی فقط mmc رو با spi راه اندازی کردم که باعث بهبود سرعت در فرکانس 16 مگاهرتز شد البته منظور من spi سخت افزاری هست که میتواند اطلاعات را با دو برابر سرعت نرم افزاری انتقال دهد که این باعث می شود تا آهنگهایی با بیت ریت 320 کیلوبایت بدون هیچ مشکلی پخش شوند اما در صورت استفاده از spi مد نرم افزاری امکان کم آوردن سرعت در بیت ریت های بالا وجود خواهد داشت
              شما اگر بتوانیید هر دو را در مد spi سخت افزاری راه اندازی کنید از لحاظ سرعت در فرکانس 16 مگا مشکلی نخواهید داشت ولی به شرطی که از میکرویی استفاده کنید که از spi سخت افزاری دو برابر سرعت پشتیبانی کند مثل مگا 128
              برد جوجه کشی:
              مطالعه پست 1 (حتما مطالعه کنید)


              مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

              دانلود

              توجه:
              این برد نیمه صنعتی و خانگی هست...
              برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

              آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

              دیدگاه


                پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                سلام
                این پایه xdcs دقیقا چیکاره هت و چه زمانی ست و چه زمانی ریست میشه ؟
                با تشکر
                روزی که درک کردیم همه چیز به خدا تعلق دارد . آن روز .روز طلوع دانش است

                دیدگاه


                  پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                  نوشته اصلی توسط جعفر رضائی
                  سلام
                  این پایه xdcs دقیقا چیکاره هت و چه زمانی ست و چه زمانی ریست میشه ؟
                  با تشکر
                  سلام
                  دو تا پایه هست که برای تعیین داده و کنترل vs1003 به کار میرود پایه ی xdcs را اگر ریست کنیم یعنی اینکه هر چی میفرستیم بره به بافر vs1003 و دیکود بشه و اگر ست کنیم یعنی دیگه داده ای برای پخش نمی فرستیم
                  یه پایه ی دیگه ای هم هست به نام xcs که اگر ریست کنیم یعنی اینکه می خواییم به رجیستر های vs 1003 دسترسی داشته باشیم و vs1003 با این دو پایه می تونه فرق داده و دستور رو بفهمه و مناسب با دستور و داده عمل کنه
                  برد جوجه کشی:
                  مطالعه پست 1 (حتما مطالعه کنید)


                  مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

                  دانلود

                  توجه:
                  این برد نیمه صنعتی و خانگی هست...
                  برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

                  آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

                  دیدگاه


                    پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                    سلام بر همه
                    چه فرقی بین استفاده از spiout و shiftout هست؟
                    در زمانی که دستوری میفرستم و بعد از اون دستور نیاز به چک کردن پایه dreq هست برنامه قفل میکنه !

                    کد قسمتی که مربوط به چک کردن پایه dreq هست:
                    کد:
                    Sub Dreq_wait()
                    Waitms 1
                     Do
                      If Dreq = 1 Then Exit Do
                      Locate 4 , 19 : Lcd "*"
                     Loop
                    End Sub
                    البته از دستور bitwait هم استفاده می کردم که همین مشکل رو داشت!
                    و یه مشکل دیگه اینکه هر وقت رجیستر های vs رو میخونم مقدار 65535 رو بهم میده یعنی تمام بیت های رجیستر هام یک هستن!
                    گاهی اوقات در کار کردن با میکروها به مشکلاتی بر میخوریم که حسابی لذت و ذلت بخش هستن امروز از ساعت 10 صبح تا 19 عصر دور این ic بودم بیشتر از 60 مدل برنامه پروگرام کردم و تست زدم اما حالا با dreq به مشکل خوردم
                    جناب mohammad... خراب آواتارت شدم :job:
                    ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
                    شهید دکتر مصطفی چمران
                    اللهم صل علی محمد و ال محمد و عجل فرجهم
                    ; C is not for children

                    دیدگاه


                      پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                      نوشته اصلی توسط مهدی رهی
                      سلام بر همه
                      چه فرقی بین استفاده از spiout و shiftout هست؟
                      در زمانی که دستوری میفرستم و بعد از اون دستور نیاز به چک کردن پایه dreq هست برنامه قفل میکنه !

                      کد قسمتی که مربوط به چک کردن پایه dreq هست:
                      کد:
                      Sub Dreq_wait()
                      Waitms 1
                       Do
                        If Dreq = 1 Then Exit Do
                        Locate 4 , 19 : Lcd "*"
                       Loop
                      End Sub
                      البته از دستور bitwait هم استفاده می کردم که همین مشکل رو داشت!
                      و یه مشکل دیگه اینکه هر وقت رجیستر های vs رو میخونم مقدار 65535 رو بهم میده یعنی تمام بیت های رجیستر هام یک هستن!
                      گاهی اوقات در کار کردن با میکروها به مشکلاتی بر میخوریم که حسابی لذت و ذلت بخش هستن امروز از ساعت 10 صبح تا 19 عصر دور این ic بودم بیشتر از 60 مدل برنامه پروگرام کردم و تست زدم اما حالا با dreq به مشکل خوردم
                      جناب mohammad... خراب آواتارت شدم :job:
                      سلام ببخشید که دیر شد
                      چه فرقی بین استفاده از spiout و shiftout هست؟
                      سلام شما با دستور shiftout می توانید دیتا را از هرپایه که بخواهید ارسال و دریافت کنید به صورت زیر
                      Shiftout Mosi , Sck , Volumer , 1
                      فقط باید پایه های mosi و sck در برنامه تعریف شوند که به کدام پایه از میکرو وصل هستند و Volumer متغیر ما هست که می خواهیم ارسال کنیم تو این شرایط ما می توانیم sck و mosi را به هرپایه ای که بخواهیم وصل کنیم
                      دستور بالا مربوط به زمانی هست که می خواهیم از میکرو اطلاعاتی را ارسال کنیم برای دریافت داده باید از دستور زیر استفاده کنیم
                      Shiftin Miso , Sck , Volumer , 1
                      ولی توجه داشته باشید که باز miso را در برنامه تعریف کنیم که به کدام پایه از avr وصل هست اون عدد یک هم یعنی تشخیص پالس در لبه ی بالارونده صورت گیرد یا پایین رونده اگر برابر صفر قرار گیرد یعنی لبه ی پایین رونده را انتخاب کرده ایم در غیر این صورت اگر برابر 1 انتخاب شود یعنی لبه ی بالا روند را انتخاب کرده ایم
                      برای استفاده از دستور spi چه نرم افزاری و چه سخت افزاری باید اول پیکره بندی شود سپس برای ارسال و دریافت باید از دستور spiout یا spiin استفاده کنید ولی در صورت استفاده از spi سخت افزاری امکان دو برابر شدن سرعت وجود خواهد داشت و در صورت پیکره بندی نرم افزاری شما از پایه های دلخواه استفاده می کنید ولی در صورت پیکره بندی سخت افزاری باید از پایه های مخصوص استفاده کنید که امکان تغییر آن وجود نخواهد داشت
                      در زمانی که دستوری میفرستم و بعد از اون دستور نیاز به چک کردن پایه dreq هست برنامه قفل میکنه !
                      خوب اگر پایه ی dreq همیشه صفر هست و میکرو منتظر می ماند این یعنی vs1003 درست پیکره بندی نشده هست در صورت درست وصل شدن بلافاصله پایه ی dreq فعال خواهد شد فقط یادتون باشه که پایه ی dreq را ورودی پیکره بندی کنید به صورت زیر
                      config dreq=input
                      گاهی اوقات در کار کردن با میکروها به مشکلاتی بر میخوریم که حسابی لذت و ذلت بخش هستن امروز از ساعت 10 صبح تا 19 عصر دور این ic بودم بیشتر از 60 مدل برنامه پروگرام کردم و تست زدم اما حالا با dreq به مشکل خوردم
                      دوست من شکست مقدمه پیروزی هست گاهی وقتا من هم حتی از اینکه با ماژول vs1003 کار میکنم دچار مشکلات خندهداری می شدم که واقعا دو سه روز من و سر کار میذاشت و اون می دونی چی بود فراموش کرده بودم آدرس رو با 512 جمع کنم و از vs صدایی دریافت نمی شد و همش به این vs گیر می دادم
                      و یه مشکل دیگه اینکه هر وقت رجیستر های vs رو میخونم مقدار 65535 رو بهم میده یعنی تمام بیت های رجیستر هام یک هستن!
                      دوست من دستور خواندن ریجستر رو اینجا قرار بده ببینیم چطور ریجستر رو می خونی :eek: :eek: :eek:
                      شاید هم من نتونم این قسمت رو جواب بدم

                      جناب mohammad... خراب آواتارت شدم :job:
                      ولی مال شما از من قشنگتره و معنویتر
                      برد جوجه کشی:
                      مطالعه پست 1 (حتما مطالعه کنید)


                      مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

                      دانلود

                      توجه:
                      این برد نیمه صنعتی و خانگی هست...
                      برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

                      آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

                      دیدگاه


                        پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین 

                        سلامی دوباره
                        مرسی از جوابتون
                        مشکل پایه dreq حل شد
                        در زمان انتخاب نام مستعار برای پایه ای که dreq بهش وصل بود اشتباها بجای
                        کد:
                        dreq alias pinx.x
                        از
                        کد:
                        dreq alias portx.x
                        استفاده کرده بودم.
                        کد مربوط به خواندن از رجیسترهای vs:
                        کد:
                        '----------------------------------------------- vs_read
                        Function Vs_read(byval Vs_address As Byte) As Word
                         Local Read_op_code As Byte : Read_op_code = Vs_rd     'read_op_code=&B0000_0011
                         Local Byte_of_word As Byte : Byte_of_word = 0
                         Xdcs = 1 : Xcs = 0
                         Spiout Read_op_code , 1
                         Spiout Vs_address , 1
                         Spiin Byte_of_word , 1
                         Vs_read = Byte_of_word
                         Vs_read = Vs_read * 256                  'Shift Vs_read , Left , 8
                         Byte_of_word = 0
                         Spiin Byte_of_word , 1
                         Vs_read = Vs_read + Byte_of_word
                         Xcs = 1
                         Call Dreq_wait()
                         Xdcs = 0
                        End Function
                        کد مربوط به نوشتن در رجیستر vs:
                        کد:
                        '----------------------------------------------- vs_write
                        Sub Vs_write(byval Vs_address As Byte , Byval Data1 As Byte , Byval Data2 As Byte)
                         Local Write_op_code As Byte : Write_op_code = Vs_wr    'write_op_code= &B0000_0010
                         Xdcs = 1 : Xcs = 0
                         Spiout Write_op_code , 1
                         Spiout Vs_address , 1
                         Spiout Data1 , 1
                         Spiout Data2 , 1
                         Xcs = 1
                         Call Dreq_wait()
                         Xdcs = 0
                        End Sub
                        یه مشکل دیگه اینکه زمانی که یه فایل mp3 رو از sd card به vs میفرستم خیلی سریع ارسال میشه و به آخر فایل صوتی میرسه اما هیچ صدایی از vs شنیده نمیشه؟(میشه نحوه ارسال دیتا از sd یه vs رو توضیح بدین من از کد زیر استفاده میکنم)
                        کد:
                        '----------------------------------------------- vs_decode
                        Sub Vs_decode()
                         Call Dreq_wait()
                         Xcs = 1 : Xdcs = 0
                         Call Dreq_wait()
                         Cls : Lcd "playing file:"
                         S1 = Dir( "*.mp3")
                         Ff = Freefile()
                         Open S1 For Binary #ff
                         Home L : Lcd S1 : Wait 1
                         Do
                          Get #ff , Buff(1) , , 512
                          Xdcs = 0
                          For W1 = 1 To 512
                            Spiout Buff(w1) , 1
                            Call Dreq_wait()
                          Next W1
                          Xdcs = 1
                         Loop Until Eof(#ff) <> 0
                         Close #ff
                         Cls : Lcd "end" : Wait 1
                        End Sub
                        البته این کد رو از کدهایی که دوستان قرار دهده بودن استخراج کردم .
                        عجب دنیای لذت بخشیه الکترونیک
                        اگر روزی با مواد شیمیایی سروکارت افتاد می تونی رو من حساب کنی
                        ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
                        شهید دکتر مصطفی چمران
                        اللهم صل علی محمد و ال محمد و عجل فرجهم
                        ; C is not for children

                        دیدگاه


                          پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                          دوست من شما از spi برای هر دو استفاده کردید ؟ یعنی پایه های mmc و vs1003 به صورت مشترک به میکرو وصل شدند؟

                          متاسفانه من هیچ اطلاعاتی درباره خواندن از vs ندارم فقط کاری که من کردم اطلاعات را در vs نوشتم مثل بلند کردن و کم کردن صدا که البته خواندن از vs را هم از شما یاد خواهم گرفت
                          یک نکته هم وجود دارد که حتما باید رعایت شود شما باید فایل هایی که به mmc کپی می کنید حتما باید گزینه read only تیک نخورده باشد که اگر این گزینه تیک خورده باشد mmc نمی تواند فایل را باز کند و اطلاعات رو به vs بفرستد من پروژه خودم رو اینجا قرار میدم انشالله یکی دو روز دیگه هم فایل pdf و یه فیلمه کوتاه هم قرار خواهم داد
                          نوشته اصلی توسط مهدی رهی
                          اگر روزی با مواد شیمیایی سروکارت افتاد می تونی رو من حساب کنی
                          چشم حتما ببخشید رشته شما چیه؟

                          دانلود بفرمایید

                          http://uploadefile.com/file/9109/poroje-payani.rar.html
                          برد جوجه کشی:
                          مطالعه پست 1 (حتما مطالعه کنید)


                          مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

                          دانلود

                          توجه:
                          این برد نیمه صنعتی و خانگی هست...
                          برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

                          آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

                          دیدگاه


                            پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                            دوست من شما از spi برای هر دو استفاده کردید ؟ یعنی پایه های mmc و vs1003 به صورت مشترک به میکرو وصل شدند؟
                            بله ، پایه های mosi , miso ,sck رو مشترک گرفتم و از طریق chip select بین vs و mmc جابجا میشم اینجوری پایه های کمتری اشغال میشن و ارتباط هم از طریق hardware_spi و فعال کردن سرعت دو برابر باعث میشه ارتباط سریع تری داشته باشیم.
                            من هم درگیر خواندن رجیستراشم هر وقت بتونم این کار رو درست انجام بدم حتما به شما اطلاع میدم.
                            رشته دانشگاهیم الکترونیک مثل شما
                            اما خارج از دانشگاه تو بقیه علوم هم کمی وارد شدم چون همشون لذت بخشن و گاهی اوقات به چند تا رشته برای یک کار نیاز پیدا میکنم
                            پروژتون رو دانلود کردم oo: معلومه که براش واقعا وقت گذاشتین :job:
                            یکی دو روز دیگه هم فایل pdf و یه فیلمه کوتاه هم قرار خواهم داد
                            من که خوره فیلمم مخصوصا کارهای خونگی
                            در مورد سخت افزار پروژتون اگر از یک 74hc245 استفاده کنین بین میکرو و lcd و تغذیه مدار رو 3.3v بگیرین میتونین mmc و vs رو مستقیم به میکرو وصل کنین
                            از اینکه پروژه خودتون رو قرار دادین ممنونم

                            ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
                            شهید دکتر مصطفی چمران
                            اللهم صل علی محمد و ال محمد و عجل فرجهم
                            ; C is not for children

                            دیدگاه


                              پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                              فقط روش کارش بدین صورت هست که ابتدا نیوفولدر را پیدا می کند یعنی اگر در mmc آهنگها را داخل نیوفولدر نریزید چیزی به شما نشان نخواهد داد
                              بعد از اینکه تعدادی نیوفولدر ایجاد کرده و داخلش اهنگ ریختید با زدن اینتر وارد نیوفولدر مربوطه شده و آهنگ هارا نشان خواهد داد البته اگر داخل نیوفولدر یک نیوفولدر دیگر باشد دیگر نشان نخواهد داد و مجازش همون یک نیوفولدر هست در هنگام پخش اهنگ هم زمان پخش و پایان فایل رو به صورت نموداری نشان می دهد
                              امکاناتی هم که داره
                              پلی و استوپ آهنگ
                              رفتن به آهنگ بعدی و قبلی
                              بردن اهنگ کمی به جلو و عقب
                              افزایش و کاهش صدا
                              نمایش زمان پخش و پایان فایل
                              پخش اتوماتیک آهنگ های فولدر انتخابی
                              ولی یکم بردش بزرگ شده نتونستم دو لایه بزنم و خودکار دستی کشیده شده برا همین یکمم اگه بزرگ می شد می تونستین جای مادربرد کامپیوتر جا بندازین :mrgreen: :mrgreen: :mrgreen:
                              برد جوجه کشی:
                              مطالعه پست 1 (حتما مطالعه کنید)


                              مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

                              دانلود

                              توجه:
                              این برد نیمه صنعتی و خانگی هست...
                              برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

                              آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

                              دیدگاه


                                پاسخ : پخش فایل MP3 با VS1003 و ضبط صدا با فرمت WAV با همین آی سی

                                واو :eek:
                                این vs1003 عجب کیفیتی داره :surprised:
                                یه نگاه به این صفحه بندازین برنامش سالمه(تستش کردم) :nice:
                                حالا نوبت برنامه جناب mohammad... تا تستش کنم
                                جناب mohammad... من bascom full ver و کتابخانه mmc نسخه صنعتیش رو از شرکت www.mcselec.com (شرکت سازندش) خریدم اگر خواستی بگو برات compile میکنم و میفرستم به ایمیلت
                                ای خدا ، من باید از نظر علم از همه برتر باشم، تا مبادا که دشمنان مرا از این راه طعنه زنند. باید به آن سنگدلانی که علم را بهانه کرده و به دیگران فخر میآ*فروشند، ثابت کنم که خاک پای من هم نخواهند شد. باید همه آن تیره دلان مغرور و متکبر را به زانو در آورم، آنگاه خود خاضع ترین و افتاده ترین مرد روی زمین باشم.
                                شهید دکتر مصطفی چمران
                                اللهم صل علی محمد و ال محمد و عجل فرجهم
                                ; C is not for children

                                دیدگاه

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