در بسیاری از پروژه ها شما نیاز به کار کردن با فایل های ذخیره شده
بر روی MMC یا SD را دارید. و اکثر
مواقع ما نیاز به خواندن اطلاعات ذخیره شده توسط کامپیوتر بر روی MMC
و SD را میکرو بخواند. در اینجا اگر با بسکام BASCOM
یا نسخه های جدید کدویژن CodeVision استفاده کنید با یک سد
بزرگ روبرو میشوید. و آن هم نیاز به میکرویی با 4000 بایت حافظه کد و فضای
SRAM بالایی دارد که عملا پیاده سازی آنرا فقط در میکروهایی همچون
Mega128 و Mega103 وجود دارد.
مشکل بعدی استفاده از توابع فوق که بصورت استاندارد در
کمپایلرهای فوق تعریف شده اند استفاده از پایه های استاندارد ارتباط SPI
همچون MISO , MOSI , SS , SCK است. و در برخی موارد مسیر
یابی و طراحی مدار چاپی را سخت میکند.
اما بنده مشکلات فوق را حل کردم و کدهای نوشته شده در سه
کمپایلر محبوب بسکام BASCOM و کدویژن CodeVision
و GCC نوشته شده و تست شده. توابع نوشته شده امکان کار با
FAT16 و FAT32 را دارا است و امکان
پیاده سازی برروی حتی ATmega8 را دارد و برای برقراری
ارتباط با استفاده از پروتکل SPI از سخت افزار موجود در
میکرو استفاده نشده و لذا شما براحتی میتوانید هر یک از پین های میکرو را به عنوان
MISO , MOSI , SS , SCK استفاده کنید! و ساده ترین مدار
PCB را طراحی کنید. و براحتی فایل های موجود را بر روی
MMC و یا SD بخوانید. و برای همیشه
مشکل ارتباط با MMC را در پروژهای خود به شکل خوبی حل کنید.
من با استفاده توابع فوق یک پخش کننده Wav
یا Wav Player را ساختم که براحتی فایل ها ذخیره شده بر روی
MMC و SD را شناسایی کرده و اقدام
به پخش آنها میکند. از قابلیت های این پخش کننده عدم وابستگی به Sample Rate
خاصی است و بصورت اتوماتیک Sample Rate قایل را تشخیص داده
و آنرا پخش میکند.