5个职位/ 0个新
最后发表
神奇动物
离线
最后看到:4年9个月前
加入:2016-03-14 17:50
智能骰子的循环问题

你好,

我有一个智能骰子的硬件和已经从这个支持网站下载了软件。
当使用keil,我启动骰子软编译(和我有一个警告是在developer模式)和它的ok。
然后我启动一个调试会话并启动程序。

它运行,但被阻塞在一个死角循环,我不能检测到任何BLE !
当我停止时,我看到循环在arch_main的第548行:
while ((GetWord16(SYS_STAT_REG) & DBG_IS_UP) == DBG_IS_UP) {};

所以我猜这是因为im处于调试模式。
所以我尝试不在调试模式(通过更改DA14580_config.h中的第52行):
#定义DEVELOPMENT_DEBUG 0

我用kheil编译并启动了一个调试会话。
我启动了这个项目。
它启动我的骰子的BLE,但程序直接结束。
我想这应该是一个循环,但事实并非如此。

所以我想那是因为我在凯尔。
我想尝试闪光与智能片段骰子,但我在那和不知道如何做它的新。

你能帮我让这个智能骰子工作吗?

谢谢
最好的问候,
弗朗索瓦

设备:
Gongyu_Dialog
离线
最后看到:1周5天前
加入:2016-04-27 07:07
/ / ((GetWord16 (SYS_STAT

/ /当(GetWord16 (SYS_STAT_REG) & DBG_IS_UP) = = DBG_IS_UP) {};

如果您想要在keil环境下调试,您可以更改为活动模式。
const static sleep_state_t app_default_sleep_mode=ARCH_SLEEP_OFF;

否则,你可以关闭keil调试界面,它也可以工作

神奇动物
离线
最后看到:4年9个月前
加入:2016-03-14 17:50
你好,

你好,

谢谢你的快速回复!

事实上,如果它能正常工作的话,我想让我的骰子闪烁一下。
如果不是,我想调试和尝试了解问题在哪里。
但如果效果不错,就没必要了。

所以我想在正常的条件下测试软件。
但不是在OTP,只是为了确保一切正常。
然后闪到OTP。

我该怎么做呢?
我看到你的足弓睡眠参数了。
我应该把它在ARCH_EXT_SLEEP_ON或ARCH_DEEP_SLEEP_ON ?为了测试正常的条件?

第二个问题:我如何启动软在keil中没有在调试界面?(加载按钮在调试界面外,给我发送一个“执行失败”。)

再次感谢
弗朗索瓦

Gongyu_Dialog
离线
最后看到:1周5天前
加入:2016-04-27 07:07
1.我们通常使用ARCH_EXT

1.我们通常使用ARCH_EXT_SLEEP_ON,这是扩展睡眠模式。
2.您可以在调试模式下运行,然后关闭窗口。或者在smartsnippets中,在引导模式下,下载bin文件

神奇动物
离线
最后看到:4年9个月前
加入:2016-03-14 17:50
你好再次,

你好再次,

1-我设置:
arch_sleep.c = = > sleep_env。slp_state = ARCH_EXT_SLEEP_ON
(我从你的网站下载的代码中没有const static sleep_state_t app_default_sleep_mode)

da14580_config.h ==> #define DEVELOPMENT_DEBUG 0

启动时,程序仍然阻塞在while循环中。
我不理解。

2-从keil:我启动它在调试模式。然后关闭窗口==>软件停止运行。
我浏览了keil: full_emb_syram .hex生成的文件
然后我下载它。
我被要求按复位按钮==>所以我这么做了,但什么也没发生。
我不知道我是否提到过它,但我使用外部DA14580,如图所示。

谢谢你的回答。
弗朗索瓦