DSP +共存。(DA14580)

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
Dizyis.
离线
最后一次露面:5个月11小时前
加入:2017-11-22 06:30
DSP +共存。(DA14580)

我要测试DSP +共存。
因此,我已在文档UM-B-051中应用于代码,如下所示。

我开始使用WLAN_COEX_PIN低状态。并连接确定,数据R / W OK。

之后,我将wlan_coex_pin更改为高。因此,数据R / W函数的数据没有按预期工作。

我将wlan_coex_pin更改为高。
因此,数据R / W函数的数据没有按预期工作。
我将wlan_coex_pin更改为低电平。
但过了一段时间,DSPS应用程序已断开连接。

为什么不再沟通再次恢复?

da1458x_config_basic.h.
-------------------------------------------------------------------------------------------------
#define wlan_coex_enabled 1
#define wlan_coex_ble_event 7.
#define wlan_coex_port gpio_port_2.
#define wlan_coex_pin gpio_pin_4.
#define wlan_coex_irq 1
#define wlan_coex_prio_port gpio_port_2.
#define wlan_coex_prio_pin gpio_pin_2.
#define wlan_coex_debug 0.
user_periph_setup.c.
-----------------------------------------------------------------------------------------------
void gpio_reservations(无效)
{
......
......
wlan_coex_reservations();
}
void set_pad_functions(void)
{
......
......
wlan_coex_init();
}

--------------------------------------------------------------------------------------------------------

我发现了一个问题。WLAN_COEX_PIN的中断发生为级别检测。所以它异常工作。

我如何改变这个?

设备:
mt_dialog.
离线
最后一次露面:2个月1周前
职员
加入:2015-06-08 11:34
嗨dizyis,

嗨dizyis,

与COEX方案有几个问题,因此您必须对现有代码进行一些更改,以便正常运行:

在WLAN_COEX_EIP_1_HANDLER()中,您应该清除在执行ISR时出现的任何先前的中断,就您需要做的内容是附加WLAN_COEX_EIP_1_HANDLER()中的以下行。

  • gpio_resetirq((gpio0_irqn + wlan_coex_irq));
  • nvic_clearpendingirq(IRQ);

谢谢mt_dialog.

Dizyis.
离线
最后一次露面:5个月11小时前
加入:2017-11-22 06:30
我申请了这个代码。但

我申请了这个代码。但没有变化。

即使NVIC_DISABLEIRQ(IRQ)已应用于WLAN_COEX_EIP_1_HANDLER(),也将继续调用WLAN_COEX_EIP_1_HANDLER()。(如果引脚状态高。)

im_dialog.
离线
最后一次露面:1个月2周前
加入:2016-12-06 22:25
嗨dizyis,

嗨dizyis,

还有几件事要注意:

1.用于WLAN_COEX_IRQ的价值应匹配您使用的端口号,例如,如果您使用的是wlan_coex_port / pin的p2_0,那么wlan_coex_irq应该是2:

#define wlan_coex_port.gpio_port_2.
#define wlan_coex_pin.gpio_pin_0.
#define wlan_coex_irq.2
2.当何时WLAN_COEX_PORT / PIN在WLAN_COEX_ENABLE函数中初始化,上拉未启用 - 这意味着PIN应驱动高或低,而不是浮动,否则您可能会发生随机中断。您还可以通过修改WLAN_COEX_ENABLE函数如下:
gpio_configurepin((gpio_port)wlan_coex_port,(gpio_pin)wlan_coex_pin,input_pullup,pid_gpio,false);
// gpio_configurepin((gpio_port)wlan_coex_port,(gpio_pin)wlan_coex_pin,输入,pid_gpio,false);

3.应从App_On_Init用户回调函数调用WLAN_COEX_INIT函数。

此致

im_dialog.