你好,
我有一个智能骰子的硬件和已经从这个支持网站下载了软件。
当使用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,但程序直接结束。
我想这应该是一个循环,但事实并非如此。
所以我想那是因为我在凯尔。
我想尝试闪光与智能片段骰子,但我在那和不知道如何做它的新。
你能帮我让这个智能骰子工作吗?
谢谢
最好的问候,
弗朗索瓦
设备:
/ /当(GetWord16 (SYS_STAT_REG) & DBG_IS_UP) = = DBG_IS_UP) {};
如果您想要在keil环境下调试,您可以更改为活动模式。
const static sleep_state_t app_default_sleep_mode=ARCH_SLEEP_OFF;
否则,你可以关闭keil调试界面,它也可以工作
你好,
谢谢你的快速回复!
事实上,如果它能正常工作的话,我想让我的骰子闪烁一下。
如果不是,我想调试和尝试了解问题在哪里。
但如果效果不错,就没必要了。
所以我想在正常的条件下测试软件。
但不是在OTP,只是为了确保一切正常。
然后闪到OTP。
我该怎么做呢?
我看到你的足弓睡眠参数了。
我应该把它在ARCH_EXT_SLEEP_ON或ARCH_DEEP_SLEEP_ON ?为了测试正常的条件?
第二个问题:我如何启动软在keil中没有在调试界面?(加载按钮在调试界面外,给我发送一个“执行失败”。)
再次感谢
弗朗索瓦
1.我们通常使用ARCH_EXT_SLEEP_ON,这是扩展睡眠模式。
2.您可以在调试模式下运行,然后关闭窗口。或者在smartsnippets中,在引导模式下,下载bin文件
你好再次,
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,如图所示。
谢谢你的回答。
弗朗索瓦