搜索
bottom↓
回复: 3

有没有人用 Petit FatFs文件系统

[复制链接]

出0入0汤圆

发表于 2013-8-15 10:42:57 | 显示全部楼层 |阅读模式
本帖最后由 ding_ding0304 于 2013-8-15 10:59 编辑

我在stc12单片机上移植好了,但不知道怎么去操作文件?我想用它做一个基于PWM的WAV播放器。不知道怎么读取WAV音频数据?
petit_fatfs文件系统在STC12C5A60S2上移植成功(初学) :http://www.amobbs.com/thread-5546800-1-1.html

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2014-1-5 20:33:53 | 显示全部楼层
正在参考楼主前一篇帖子,等我弄好后通知楼主哈

出0入0汤圆

发表于 2014-1-5 21:49:12 | 显示全部楼层
大概看了一下  估计类似znfat的字节流那样处理的,比如你要将读到的字节字节送到VS1003进行播放  可以在这里设置(假设vs1003的送数据函数为SengData(uchar dat))

  1. DRESULT disk_readp (
  2.         BYTE* buffer,                        /* Pointer to the destination object */
  3.         DWORD sector,                /* Sector number (LBA) */
  4.         WORD sofs,                        /* Offset in the sector */
  5.         WORD count                        /* Byte count (bit15:destination) */
  6. )
  7. {
  8.         DRESULT res;
  9.         uint8 r1;
  10.         uint16 bc;
  11.        
  12.         res = RES_ERROR;

  13.         r1 = MMC_SD_SendCommand(17, sector<<9);//读命令
  14.         if(r1 != 0x00)
  15.                 return res;
  16.                
  17.         SPI_CS_Assert();       
  18.        
  19.         bc = 0;
  20.         do
  21.         {                                                        /* Wait for data packet */
  22.                 if(bc++ > 1000)        {SPI_CS_Deassert();return res;}
  23.                
  24.         }while(SPI_WriteByte(0xff) != 0xfe);        //等数据的开始

  25.         /* Skip leading bytes */
  26.         if (sofs)
  27.         {
  28.                 bc = sofs;
  29.                 do
  30.                 {
  31.                         SPI_WriteByte(0xff);
  32.                 }
  33.                 while(--bc);
  34.         }
  35.         if(buffer) /* Store data to the memory */
  36.         {       
  37.                 bc = count;
  38.                 do
  39.                 {
  40.                         *(buffer++)=SPI_WriteByte(0xff);
  41.                 } while (--bc);
  42.         }
  43.         else /* Forward data to the outgoing stream (depends on the project) */
  44.         {
  45.                 bc = count;
  46.                 do
  47.                 {
  48.                         SPI_WriteByte(0xff);           //就是在这里改了  这里只是读取不用  可改为 SendData(uchar dat)  即可
  49.                 } while (--bc);
  50.         }
  51.        
复制代码

出0入0汤圆

发表于 2014-1-6 08:24:15 | 显示全部楼层
基于PWM?  
是调压么?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 06:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表