问题2:
我的开发板(S3C44B0)是通过 IIS 来驱动 音频芯片(CS4334)的.
一般要怎样才能驱动这个芯片(也就是说要在什么条件下,这个芯片就开始工作)
是不是一个时钟给一个高电压啊?
问题3:
可以给一段初始化 CS4334 代码?
问题4:
下面这段小程序是我在资料上找的,有很多地方不理解
void __irq BDMA0_Done(void); //这里是声明中断处理函数 BDMA0_Done 。是 BDMA0 中断处理函数
void Playwave()
{
int sound_len,i;
unsigned short *pWavFile;
pWavFile=(unsigned short *)0x030000; //wav 文件数据地址
rINTMOD=0x0; //使能中断
rINTCON=0x1;
pISR_BDMA0=(unsigned) BDMA0_Done; //设置 BDMA 中断 ,不知道具体的意思?
rINTMSK=~(BIT_GLOBAL | BIT_BDMA0); //不知道具体的意思?
for(;;) //循环播放声音文件
{
//初始化变量
iDMADone=0 ; //初始化 DMA 中断结束标志 不知道为什么是这样?
sound_len=155956 ;// 设置声音数据长度,未处理头文件
rBDISRC0=(1 < <30)+(1 < <28)+((int)(pWavFile));// DMA 源;16 位数据,增长方式 外存储区 ,这句话是什么意思啊?
rBDIDES0=(1 < <30)+(3 < <28)+((int)rIISFIF);// DMA 目的:M2I0 ,内部模块,IISFIF 这句话是什么意思啊?
//设置 DMA 请求源为 IIS ,中断方式,自动重载 ,使能 DMA
rBDICNT0=(1 < <30)+(1 < <26)+(3 < <22)+(0 < <21)+(1 < <20)+sound_len; // 这句话是什么意思啊?
rBDCON0=0x0 < <2; // 这句话是什么意思啊?
//IIS 初始化
rIISCON=0x22; //使能发送 DMA ,接收空闲,使能分频
rIISMOD=0xc9; //主模式,发送,发送模式,左通道第电平,IIS 格式,16 位
//数据 256FS,32f
rIISPSR=0x22; //分频因子
rIISFCON=0xf00; //接收,发送 DMA 模式,使能 FIFO
rIISCON |=0x1; //使能 IIS
while(iDMADone==0); //等待直到 DMA 传送结束 不知道为什么是这样?
rIISCON=0x0; //禁止 IIS
}
}
void __irq BDMA0_Done(void) //
{
rI_ISPC=BIT_BDMA0; //clear pending bit
iDMADone=1; //设置中断结束的标志
}
谢谢!