亲爱的支持,
谢谢你到目前为止的帮助。我正在尝试调试SPS代码:DA1458x_DSPS \ v_5.150.2 \ Projects \ target_apps \ dsps \ sps_device与da14583degk。我能够连接电路板,下载代码,如果我然后断开连接,固件运行,我可以使用它。不幸的是,当我运行代码时,它始终在几秒钟0x00000000后停止调试器。
我想添加我的代码并调试这个项目,但我被困。你有什么建议吗?
FYI:我可以调试更简单的项目:SDK 5.0.3没有问题。
干杯,
富有的
设备:
亲爱的支持,
我禁用睡眠模式,现在我可以调试。这是有道理的。我通过设置app_default_sleep_mode = arch_sleep_off来完成此操作。现在到了这个问题的症结。我想要GPIO代表BLE是否连接。我以为打开和关闭LED将是一个好主意。如果睡眠模式关闭,这有效,如果睡眠模式亮起,则不会。
我将此添加到system_init();
/ **************************************************************************************** /
/ * LED GPIO配置* /
/ **************************************************************************************** /
#define led_port gpio_port_1.
#define led_pin gpio_pin_0.
这是gpio_reservations()
保留_GPIO(LED_DISPLAY,LED_PORT,LED_PIN,PID_GPIO);
这是set_pad_functions()
// init LED.
GPIO_CONFIGUREPIN(LED_PORT,LED_PIN,输出,PID_GPIO,FALSE);
这是user_on_connection()
gpio_setactive(LED_PORT,LED_PIN);
这是user_on_disconnect()
gpio_setinactive(LED_PORT,LED_PIN);
再次,就像我说的那样,如果我不去睡眠模式,LED就会很棒。如果我让申请睡眠睡眠,LED不会打开。有什么建议么?
非常感谢!
富有的
嗨理查德,
580将在预定的连接或广告间隔内睡眠并唤醒,这意味着它会在这些事件之间睡觉,当580睡觉时,GPIO引脚被锁存,因此它们保持先前的状态,但是在唤醒Periph_init时()函数将重新运行并重新初始化GPIO,因此它们将采用该应用程序在Periph_init()函数中定义的状态。在no_sleep_mode中,只能调用periph_init(),因此您可以看到设备行为正常。作为对此的解决方案,您应该有一个变量,即将记住应用程序的状态(连接或不连接)或者可以直接检查Task_App的状态,并在Periph_init()中相应地将PIN配置为您的应用程序。
谢谢mt_dialog.
谢谢回复。这是一个很好的答案。我解决了我的问题,因为这个富有洞察力的信息。
干杯,
富有的