主题中讨论的其他器件:EK-TM4C1294XL、 TMDSEVM5517、 PCM1864
大家好、
请向我们提供 有关使用 PCM1864CMBEVM 的更多信息。 客户 已带来麦克风 PCM1864CMBEVM、因此需要购买数字信号处理器。
我们能否使用 EK-TM4C1294XL 而不是 TMDSEVM5517 (评估模块)来配置麦克风? 他们 希望将8KHz 的采样率数字化。
提前感谢您。
此致、
Jonathan
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
请向我们提供 有关使用 PCM1864CMBEVM 的更多信息。 客户 已带来麦克风 PCM1864CMBEVM、因此需要购买数字信号处理器。
我们能否使用 EK-TM4C1294XL 而不是 TMDSEVM5517 (评估模块)来配置麦克风? 他们 希望将8KHz 的采样率数字化。
提前感谢您。
此致、
Jonathan
您好 Juan、
要建立从 Arduino 到 PCM1864的 I2C 连接、您需要执行硬件和软件配置。 从硬件配置开始、在 Arduino 和 PCM1864 GND、SDA 和 SCL 引脚之间建立路由。 对于软件、您可以使用 Arduino IDE 和 Arduino 的线库 在 Arduino 和 PCM1864之间进行通信。 在此处可找到与库建立 I2C 连接的示例代码以及有关 I2C的更多信息。 PCM1864 I2C 器 件地址为"0x94"、如 PCM1864数据表"硬件和软件设置"下的第3页所示。 有关引脚和寄存器配置的更多信息、请参阅该数据表。
最棒的
Alec Greene
您好! 非常感谢您的帮助。
我一直在做这方面的工作、但麦克风始终在串行绘图仪上提供-1、我不确定它是否会接收声音。
请为我的代码提供帮助?
我真的需要指导。
非常感谢这里的一切!
这是我的代码:
#include
void setup(){
Wire.begin();//加入 i2c 总线(主机的可选地址)
Serial.begin(2000000);//开始串行输出
}
void loop(){
Wire.beginTransmission(75);//发送到器件#150 = 0x96 (在从器件中运行)
//但 i2c 寻址使用高7位、因此它是75
//数据表的寄存器第4页
Wire.write (byte (0x00));//将寄存器指针设置为命令寄存器(0x00)
Wire.write (byte (0x00));
Wire.write (byte (0x01));
Wire.write (byte (0x40));
Wire.write (byte (0x02));
Wire.write (byte (0x40));
Wire.write (byte (0x03));
Wire.write (byte (0x40));
Wire.write (byte (0x04));
Wire.write (byte (0x40));
Wire.write (byte (0x05));
Wire.write (byte (0x86));
Wire.write (byte (0x06));
Wire.write (byte (0x41));
Wire.write (byte (0x07));
Wire.write (byte (0x41));
Wire.write (byte (0x08));
Wire.write (byte (0x44));
Wire.write (byte (0x09));
Wire.write (byte (0x44));
Wire.write (byte (0x0A));
Wire.write (byte (0x00));
Wire.write (byte (0x0B));
Wire.write (byte (0x44));
Wire.write (byte (0x10));
Wire.write (byte (0x00));
Wire.write (byte (0x11));
Wire.write (byte (0x50));
Wire.write (byte (0x12));
Wire.write (byte (0x00));
Wire.write (byte (0x13));
Wire.write (byte (0x40));
Wire.write (byte (0x20));
Wire.write (byte (0x01));
wire.endTransmission ();//停止传输
延迟(70);
float c = Wire.read();//接收一个作为字符的字节
serial.println (c);//打印字符
}