请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
您好!
我正在研究 SoC C5505 eZdsp。
我已将 AIC3204编解码器配置为单声道(仅左声道)、采样/回放速率为192Khz。
我尝试向电路板的线性输出发射单个音调(1kHz)音调。
以下是我的代码的重要部分:
#define XmitL 0x10 #define I2S0_SRGR *(volatile ioport uint16*)(0x2804) #define I2S0_CR *(volatile ioport uint16*)(0x2800) #define I2S0_ICMR *(volatile ioport uint16*)(0x2814) #define I2S0_IR *(volatile ioport uint16*)(0x2810) #define I2S0_W0_LSW_W *(volatile ioport uint16*)(0x2808) #define I2S0_W0_MSW_W *(volatile ioport uint16*)(0x2809) int16 sine_1k[192]={ 0x0430、0x085F、0x0C8C、0x10B5、0x14DA、0x18F9、0x1D11、0x2121、0x2528、0x2925、0x2D17、0x30FC、0x34D4、0x389D、0x3C57、0x4000、 0x4398、0x471D、0x4A8F、0x4DEC、0x5134、0x5465、0x5780、0x5A82、0x5D6C、0x603C、0x62F2、0x658D、0x680B、0x6A6E、0x6CB3、0x6EDA、 0x70E3、0x72CD、0x7497、0x7642、0x77CC、0x7935、0x7A7D、0x7BA3、0x7CA8、0x7D8A、0x7E4A、0x7EE8、0x7F62、0x7FBA、0x7FEE、0x7FFF、 0x7FEE、0x7FBA、0x7F62、0x7EE8、0x7E4A、0x7D8A、0x7CA8、0x7BA3、0x7A7D、0x7935、0x77CC、0x7642、0x7497、0x72CD、0x70E3、0x6EDA、 0x6CB3、0x6A6E、0x680B、0x658D、0x62F2、0x603C、0x5D6C、0x5A82、0x5780、0x5465、0x5134、0x4DEC、0x4A8F、0x471D、0x4398、0x4000、 0x3C57、0x389D、0x34D4、0x30FC、0x2D17、0x2925、0x2528、0x2121、0x1D11、0x18F9、0x14DA、0x10B5、0x0C8C、0x085F、0x0430、0x0000、 0xFBD0、0xF7A1、0xF374、0xEF4B、0xEB26、0xE707、0xE2EF、0xDEDF、0xDAD8、0xD6DB、0xD2E9、0xCF04、0xCB2C、0xC763、0xC3A9、0xC000、 0xBC68、0xB8E3、0xB571、0xB214、0xAECC、0xAB9B、0xA880、0xA57E、0xA294、0x9FC4、0x9D0E、0x9A73、0x97F5、0x9592、0x934D、0x9126、 0x8F1D、0x8D33、0x8B69、0x89BE、0x8834、0x86CB、0x8583、0x845D、0x8358、0x8276、0x81B、0x8118、0x809E、0x8046、0x8012、0x8000、 0x8012、0x8046、0x809E、0x8118、0x81B、0x8276、0x8358、0x845D、0x8583、0x86CB、0x8834、0x89BE、0x8B69、0x8D33、0x8F1D、0x9126、 0x934D、0x9592、0x97F5、0x9A73、0x9D0E、0x9FC4、0xA294、0xA57E、0xA8800xAB9B、0xAECC、0xB214、0xB571、0xB8E3、0xBC68、0xC000、 0xC3A9、0xC763、0xCB2C、0xCF04、0xD2E9、0xD6DB、0xDAD8、0xDEDF、0xE2EF、0xE707、0xEB26、0xEF4B、0xF374、0xF7A1、0xFBD0、0x0000 }; EMIT void_sine_1K (void){ uint16 i; uint16 j; I2S0_SRGR = 0x0; I2S0_CR = 0x9011; I2S0_ICMR = 0x3f; 对于(j = 0;j < 5000;j++){//持续5秒 对于(i = 0;i < 192;i++){ while (((XmitL & I2S0_IR)==0); I2S0_W0_LSW_W =(sine_1K[i]);//将信号从左通道跳转 } } I2S0_CR = 0x00; }
通过调试、我会看到程序始终在 while 环路中停止、例如永远不会发生传输。
有什么想法吗?
提前感谢。
Paolo