你好,
我在中创建了两个回调用户\回调\配置.h
static const struct arch\u main\u loop\u callbacks user\u app\u main\u loop\u callbacks={.app\u on\u init=user\u app\u init,//默认情况下,系统唤醒时重新加载并恢复看门狗计时器。//用户必须考虑看门狗计时器的处理(保持它运行,//冻结它,重新加载它,恢复它,等等),当调用table\u powered()上的app\u时,可能会影响主循环。app \u on \u ble \u powered=user \u ble \u task,//默认情况下,系统唤醒时重新加载并恢复看门狗计时器。//当调用\ system\ powered()上的app\时,用户必须考虑看门狗计时器的处理(保持它运行,//冻结它,重新加载它,恢复它,等等),并且可能会影响主循环。app\u on\u system\u powered=user\u sys\u task、.app\u before\u sleep=NULL、.app\u validate\u sleep=NULL、.app\u going\u to\u sleep=NULL、.app\u resume\u from\u sleep=NULL、};
我定义了user\u ble\u task和user\u sys\u task,如下所示
arch_main_loop_callback_ret_t user_sys_task(){//sprintf((char*)flg_buff,“%d\n”,c);//uart_send(UART2,(uint8_t*)flg_buff,strlen(flg_buff),uart_OP_BLOCKING);SetWord16(0x50003002256);return KEEP_POWERED;//KEEP_POWERED,GOTO_SLEEP}
在这里,函数返回KEEP\ u POWERED并使GPIO高。
arch_main_loop_callback_ret_t user_ble_task(){//sprintf((char*)flg_buff,“%d\n”,b);//uart_send(UART2,(uint8_t*)flg_buff,strlen(flg_buff),uart_OP_BLOCKING);wdg_reload(WATCHDOG_DEFAULT_PERIOD);SetWord16(0x50003004256);return GOTO_SLEEP;}
在user\u ble\u task中,函数返回GOTO\u SLEEP并使相同的GPIO变低。200ms的wdg重载使这两个函数都按顺序调用。
是时候了18微秒和低时间1微秒。(如何实现所有周期的相同延迟)
我知道这些环回是异步执行,如何执行这些环回中的任何硬件计时器/appEasytimer()回调。
随附的时间间隔逻辑分析仪屏幕截图。项目使用了无睡眠模式的ble-u-barebone。分享给我任何样本代码。
我引用以下链接作为参考。
http://lpccs docs.dialog semiconductor.com/Tutorial\u SDK6/sdk\u architectur。。。
比尔,
巴拉吉
嗨,对话,
我已将用户系统任务设置为无效的并在用户任务中创建了一个app\u easy\u timer(),如下所示,
在回调中,我使用了一个标志并切换了1秒
定时器和延迟配置,
当试图在keil中调试时,我可以观察到led的切换1秒钟,但当我通过ble连接到应用程序时ble扫描仪延迟减少到一半,即0.5秒打开,0.5秒关闭,在我断开连接后,应用程序\u easy\u计时器也不会重置。当我再次尝试连接时,调试器在app\u easy\u timer\u cancel()中点击assert\u warning(0)
通过我的应用程序调试led应用程序计时器id我查过零了吗在凯尔看窗户. 我想知道何时取消我的应用程序\u easy\u timer(),以避免此暂停。
如果有什么问题,请更正我的代码。
需要知道为什么计时器的id是零,是否有任何可能的比赛条件存在。
提前谢谢
比尔,
巴拉吉。
你好,巴拉吉,
谢谢你在网上的帖子和你的后续评论。我读了你的描述,但作为主人,我无法理解你想要完成什么。那么,你能更清楚地描述一下你的要求吗?
>>>如何在这些环回中执行任何硬件计时器/table appEasytimer()回调。
以上声明是您的要求吗?
在下面的评论中,我看到您正在使用app\u easy\u tuimer()。你能检查一下你的代码中是否调用了app\u easy\u timer\u cancel()?
请提供适当的步骤,以便我可以复制这个问题。
谢谢,下午好