请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:CC2640 主题中讨论的其它部件:PCM1808、 PLL1708
大家好、我使用 pll1708+pcm1808对音频进行采样、并使用 pcm1808的 BCLK、WCLK 输出、在从模式下执行 cc2640 I2S wokk、如果可以、如何配置 BCLK 引脚、WCLK 引脚。
我将初始化 I2S 设置为如下、但它看起来不起作用
pll1707Init(); PRCMPowerDomainOn (PRCM_DOMAIN_PERIPh); while (PRCM_DOMAIN_POWER_ON!= PRCMPowerDomainStatus (PRCM_DOMAIN_PERIPh)); PRCMPeripheralRunEnable (PRCM_Periph_I2S); PRCMPeripheralRunEnable (PRCM_Periph_GPIO); HWREG (PRCM_BASE + PRCM_O_I2SBCLKSEL)= 0;// BCLK 使用外部时钟 PRCMLoadSet(); while (0 == PRCMLoadGet ()); IOCPortConfigureSet (i2sWclkPin、IOC_PORT_MCU_I2S_WCLK、IOC_STD_INPUT); IOCPortConfigureSet (i2sBclkPin、IOC_PORT_MCU_I2S_BCLK、IOC_STD_INPUT); IOCPortConfigureSet (i2sAd0Pin、IOC_PORT_MCU_I2S_AD0、IOC_STD_INPUT); HWREG (I2S0_BASE + I2S_O_AIFDMACFG)= 0x0;//禁用 I2S HWREG (I2S0_BASE + I2S_O_AIFWCLKSRC)= I2S_EXT_WCLK;// WCLK 使用外部时钟 HWREG (I2S0_BASE + I2S_O_AIFFMCFG)= I2S_MEM_LENGTH_16 | I2S_POS_EDGE | I2S_DUAL_PHASE_FMT | I2S_WORD_LENGTH_16 |(1 << I2S_AIFFMCFG_DATA_DELAY_S); HWREG (I2S0_BASE + I2S_O_AIFDIRCFG)=(I2S_AIFDIRCFG_AD0_IN << I2S_AIFDIRCFG_AD0_M);//启用 AD0并将其设置为输入 HWREG (I2S0_BASE + I2S_O_AIFWMASK0)= I2S_CHAN0_ACT;//启用 AD0通道_0 HWREG (I2S0_BASE + I2S_O_AIFINPTRNEXT)=(无符号长整型) i2sSampleBuffer; HWREG (I2S0_BASE + I2S_O_AIFOUTPTRNEXT)=空; HWREG (I2S0_BASE + I2S_O_IRQMASK)= I2S_INT_ALL; 内部寄存器(INT_I2S_IRQ、i2sIsr); IntEnable (INT_I2S_IRQ); HWREG (I2S0_BASE + I2S_O_AIFDMACFG)= IMA_ADPCM_PCM_RAW_LEN - 1;//启用 I2S HWREG (I2S0_BASE + I2S_O_AIFINPTRNEXT)=(无符号长整型)(i2sSampleBuffer + IMA_ADPCM_PCM_RAW_LEN);
