你(们)好
在这方面,我有一个问题:
我在主机控制模式下使用从设备、并实现了与主设备的自动配对、这意味着只需按下任何按钮即可。
现在、我的问题是我无法听到从主设备到从设备的任何音频。
如果我不在配置器中使用主机控制选项、那么我会听到。
请告诉我是否可以在主机控制模式下执行任何操作来获取音频。
此致、
Sivaram
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.
您好、Fredrik、
我使用 MSP430作为主机控制器、并按照 CC8531指令从 MSP430和 CC8531进行 SPI 连接。
在主机中、我能够控制 CC8531 (实现了自动配对)、但我唯一的问题是我无法听到主设备发出的任何声音。 我通过选择主机控制模式生成了从机映像,并刷写到从机(cc8531),并尝试使用 TI 发布的示例从机调试, 在这里、我能够通过将 DeviceID 写入非易失性存储器来自动配对、并且我看到与主板配对发生 在主板之后、我通过馈送主板的 MIC 测试音频、并尝试在从器件的耳机端口监听、但 没有音频。
我使用以下命令来写入器件 ID 和自动配对。
ehifCmdExec (EHIF_CMD_NVS_SET_DATA、sizeof (EHIF_CMD_NVS_SET_DATA_PARAM_T)、&ehifCmdParam);
ehifCmdExec (EHIF_CMD_NWM_do_join、sizeof (EHIF_CMD_NWM_do_join_param_T)、&ehifCmdParam);
此致、
Sivaram
您好、Fredrik、
从设备仅处于主机控制模式、主设备 I 在自主模式下运行。
在与主器件实现自动配对后,我正在从主机配置如下的从编解码 器:
memset (&ehifCmdParam、0xFF、sizeof (EHIF_CMD_NWM_ACH_SET_USAGE_PARAM_T));
AchifCmdParam.nwmAchSetUsage.pehUsage[0]= 0;//左前-> I2S 左侧
AchifCmdParam.nwmAchSetUsage.pehUsage[1]= 1;//右前-> I2S 右侧
ehifCmdExec (EHIF_CMD_NWM_ACH_SET_USAGE、sizeof (EHIF_CMD_NWM_ACH_SET_USAGE_PARAM_T)、&ehifCmdParam);
请告诉我是否需要配置(从编解码器)主机的任何其它内容。
此致、
Sivaram
您好、Fredrik、
请查找所有详细信息:
我的要求是一组人员对话,但此解决方案在广播模式下支持1个主设备和最多4个从设备。 所以我的想法是、任何从器件都可以通过开关控制(刷写主器件映像)成为主器件、所有其他从器件都应该自动与新主器件配对并监听。
为了实现上述功能,在主机处理器中,我对所有设备的设备 ID 进行硬编码,并尝试依次连接,如:
伪代码:
while ()
{
连接到 Dev1
如果不成功
连接到 Dev2
如果不成功
连接到 Dev3
…
}
首先、我使用了两个主器件和一个从器件、每次都使用一个主器件、从器件应自动配对、我可以实现此自动配对、但音频不会出现。
主设备我在自主模式下用作独立设备、在主机控制模式下用作从设备。
以下是我使用的命令列表、
if (!(ehifGetStatus ()& BV_EHIF_STAT_Connected))
{
nwkId = 0x2001C198;
//将新的网络 ID 放入 CC85XX 非易失性存储中
initParam();
ehifCmdParam.nvsSetData.index = 0;
ehifCmdParam.nvsSetData.data = 0x2001C198;
ehifCmdExec (EHIF_CMD_NVS_SET_DATA、sizeof (EHIF_CMD_NVS_SET_DATA_PARAM_T)、&ehifCmdParam);
CNT = 0;
while (1)
{
CNT ++;
status_master = ehifGetStatus();
if (!(STATUS_MASTER & BV_EHIF_STAT_Connected))
{
initParam();
ifCmdParam.ehcEvtClr.claredEvents = BV_EHIF_EVT_NWK_CHG;
ehifCmdExec (EHIF_CMD_EHC_EVT_CLR、sizeof (EHIF_CMD_EHC_EVT_CLR_PARAM_T)、&ehifCmdParam);
initParam();
eifCmdParam.ehcEvtMask.irqGioLevel = 0;
ifCmdParam.ehcEvtMask.eventfilter = BV_EHIF_EVT_NWK_CHG;
ehifCmdExec (EHIF_CMD_EHC_EVT_MASK、sizeof (EHIF_CMD_EHC_EVT_MASK_PARAM_T)、&ehifCmdParam);
//未连接:开始连接操作
initParam();
ehifCmdParam.nwmDoJoin.joinTo=100;
ehifCmdParam.nwmDoJoin.deviceId = nwkId;
ehifCmdExec (EHIF_CMD_NWM_do_join、sizeof (EHIF_CMD_NWM_do_join_param_T)、&ehifCmdParam);
}
else //一旦连接发生,则配置音频。
{
memset (&ehifCmdParam、0xFF、sizeof (EHIF_CMD_NWM_ACH_SET_USAGE_PARAM_T));
AchifCmdParam.nwmAchSetUsage.pehUsage[0]= 0;//左前-> I2S 左侧
AchifCmdParam.nwmAchSetUsage.pehUsage[1]= 1;//右前-> I2S 右侧
ehifCmdExec (EHIF_CMD_NWM_ACH_SET_USAGE、sizeof (EHIF_CMD_NWM_ACH_SET_USAGE_PARAM_T)、&ehifCmdParam);
中断;
}
这些是我正在使用的 EHIF 命令、请告诉我是否需要使用任何其他命令来配置音频。
Master:我在工具中使用自主模式配置并刷写映像,这里没有主机。
从站:使用主机 MSP430,可使用配置器中的主机控制选项生成从站映像。
注: 如果我在工具中使用自主模式生成从属映像,则音频将会发出,但不会进行自动配对,原因可能是它不允许在 NVRAM 中写入设备 ID。
此致、
Sivaram