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

你好,

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

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

所以我猜这是因为我在调试模式。
所以我尝试不在调试模式(通过更改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_sysram.hex生成的文件
然后我下载它。
我被要求按重置按钮==>所以我这样做,但没有发生。
我不知道我是否提到它,但我使用外部DA14580,就像在图像加入。

谢谢你的回答。
弗朗索瓦