新手刚开始学习DSP,从talkthrough工程开始学起,然后有点疑问. 在Talkthrough的main函数前面,有4个变量定义,和两个buffer定义。 // left input data from AD1871 int iChannel0LeftIn; // right input data from AD1871 int iChannel0RightIn; // left ouput data for AD1854 int iChannel0LeftOut; // right ouput data for AD1854 int iChannel0RightOut; // SPORT0 DMA transmit buffer int iTxBuffer1[2]; // SPORT0 DMA receive buffer int iRxBuffer1[2]; 我不太明白,这几个定义是固定的吗?因为把iRxBuffer1[2]赋值给iChannel0LeftIn;iChannel0RightIn;好像就实现了DMA对ADC输入数据的搬运。而把iChannel0LeftOut;iChannel0RightOut;赋值给iRxBuffer1[2];就实现了DMA对DAC输出数据的搬运。 BF537怎么知道iRxBuffer1[2]就是ADC数据进来的位置呢?而且为什么只有3位呢?(初学者的问题希望大神指导一下)
多谢各位大神了。 Talkthrough用到的是I2S模式实现了对ADC/DAC的数据转换。而53x_audio_pcm用到了I2C实现了。(I2C不是通讯协议吗?为什么用I2C来实现ADC/DAC的初始化呢?) 在Audio_Reset函数中, // set port f set register *pPORTFIO_SET = PF12; PORTFIO_SET是FIO通用端口的SET寄存器,可PF12是FIO的第12个引脚,这样赋值对吗?而且也找不到PF12的宏定义。试着用一个int temp,实时跟踪这个PF12的值,发现它等于0x1000. 可它是个引脚也,怎么有16bit?