barrettzxn ---------------------HDU_Wireless------------------ ----------》》》》▄︻┻┳═一 《《《----------
获得 6 次赞
帮助过142人
1:不是固定的,可以设置 2:MCLK实际上是必须的,不过有些新片可以从BCLK上获取并倍频到MCLK,你所说的这个现象没见过,但是我做过PCM5102A,是有MCLK输入的。 3:是的 4:可以算出来的 5:是的,除了标准I2S,还有多种格式,具体看芯片资料就可以知道时序 6:,7没具体了解过
stm32的程序,注释详细,你好好对比下,计时的值,根据你的时钟周期好好计算下。 //定时器3中断 void TIM3_IRQHandler(void) //TIM3中断 { if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET) { TIM_ClearITPendingBit(TIM3, TIM_IT_Update ); count++; PCout(1)=~flag1; if (flag==1) //如果是待发送的有效数据flag=1,就在此产生载波(亮灭交变) { if(flag1==1) { GPIO_SetBits(GPIOA,GPIO_Pin_8) ; flag1=0; } else { GPIO_ResetBits(GPIOA,GPIO_Pin_8) ; flag1=1; } } else { GPIO_ResetBits(GPIOA,GPIO_Pin_8) ; } if(count==50000) count=0; } } void SendIRdata(char p_irdata) //发送数据子函数 { int i; char irdata=p_irdata; /***************************************************************/ //发送9ms的起始码 //引导码是9ms的高电平,9000us/26us = 346 endcount = 346; flag=1; //载波模式有效 count=0; while(count
I2C 确实是一个比较蛋疼的东西,建议先找找别人使用这个codec写的i2c驱动。唯独没有ACK,一般可能是主控IO口的配装问题。或许你也可以完全忽略这个ACK,看看是否可以配置成功。