-----------------------------------------------------------------------
请问你的哒哒声解决了吗? 回复【87楼】thinki
-----------------------------------------------------------------------
不知道哒哒声解决没有? MARK 有时间搞搞 m 记下慢慢,谢谢 顶........... 回复【13楼】lzf713
to:【11楼】 lisn3188 龙南
确实要加电容。因为有直流成分存在,所以应该加电容。如果是单通道输出,在中断里面进行一些处理,如下面:
//t2匹配中断服务程序
isr(timer2_comp_vect)
{
register unsigned int temp;
register unsigned char dt1,dt2;
if(fifoct>=channel)
{
fifori++; //获取第一个数据(由于是公用,所以提前获取)
if(fifori==maxcount)
fifori=0;
dt1=buff;
fifoct--;
if(playmode==1) //单通道播放形式
{
if(channel==1)//如果音源只有一个通道 ......
-----------------------------------------------------------------------
MARK unsigned char SearchNextFile(unsigned char dir) //dir=0则向下目录查找,如果dir>0则向上目录查找
{
unsigned long int cluster,sector;
unsigned int i,clusterct,sectorct;
unsigned char item,n,m,k,dt;
signed char cnt;
while(1)
{
n=BytePerSector/32; //n=一个扇区里面目录个数
m=SectorsPerCluster*n ; //m=一个簇里面目录个数
clusterct=ShearchItem/m;//获取簇号clusterct=ShearchItem/(SectorsPerCluster*(BytePerSector/32))
k=ShearchItem%m;
sectorct=k/n; //获取扇区号sectorct=(ShearchItem%(SectorsPerCluster*(BytePerSector/32)))/(BytePerSector/32)
item=k%n; //获取目录号item=(ShearchItem%(SectorsPerCluster*(BytePerSector/32)))%(BytePerSector/32)
cluster=RootClusterNumber;
for(i=0;i<clusterct;i++)
{
cluster=Fat32GetNextCluster(cluster);
if(cluster==0x0fffffff)
{
ShearchItem=0;
return 1;
}
}
sector=ClusterToSector(cluster);
sector+=sectorct;
SD_Read_Sector(sector);
请问楼主,在调用这个函数的时候,cluster=RootClusterNumber,是把根目录簇号赋给cluster,cluster=Fat32GetNextCluster(cluster); if(cluster==0x0fffffff).....return 1;这几句话是说由根目录的簇号得到下个簇号,可我用WINHEX 看FAT表中根目录簇号存的是 0x0fffffff,那么是不是就一直返回“1”值了? mark~~ O(∩_∩)O~
谢谢分享 mark! 很好! mark good 不错,学习下! mark mark。。。。 MARK {:tongue:} 马老师是谁啊 软解wav原理小弟还没搞懂…… 3050311118 发表于 2011-5-24 23:41
回复【13楼】lzf713
to:【11楼】 lisn3188 龙南
确实要加电容。因为有直流成分存在,所以应该加电容。如 ...
MARKMAKRMARKMAKRMARKMAKR 好东西要支持,请问楼主你这个程序能支持4g的sdhc卡吗?还是只能支持原始的sd卡?
页:
1
[2]