你好,
我创造了两个回调user_callback_config.h.
static const struct arch_main_loop_callbacks user_app_main_loop_callbacks = {.app_on_init = user_app_init,//默认情况下,在系统唤醒时重新加载并恢复监视程序定时器。//用户必须考虑看门狗定时器处理(将其运行,//冻结它,重新加载,恢复IT等),当App_On_ble_Powered()被称为//可能会影响主循环。.app_on_ble_powered = user_ble_task,//默认情况下,在系统唤醒时,重新加载并恢复监视程序定时器。//用户必须考虑看门狗定时器处理(保持运行,//冻结它,重新加载,恢复IT等),当App_On_System_Powered()被调用时,可能会影响主循环。.app_on_system_powered = user_sys_task,.app_before_sleep = null,.app_validate_sleep = null,.app_ging_to_sleep = null,.app_resume_from_sleep = null,};
I defined user_ble_task and user_sys_task as shown below
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(0x50003002,256);返回keep_powered;// keep_powered,goto_sleep}
这里的函数返回Keep_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(0x50003004,256); return GOTO_SLEEP; }
在user_ble_task中,函数返回goto_sleep并使GPIO低。WDG重新加载200毫秒,以顺序方式调用。
很高的时间是18.microseconds & low time of1微秒。(它如何实现所有循环的相同延迟)
I understand these loopbacks areAsughronous执行,如何在这些环回中执行任何硬件定时器/ ble appeasytimer()回调。
随附的逻辑分析仪屏幕截图为时间间隔。项目使用BLE_BAREBONE没有睡眠模式。分享我任何示例代码。
I refered following link as reference.
http://lpccs-docs.dialog-semiconductor.com/Tutorial_SDK6/sdk_architectur...
Br,
BALAJI
Device:

Hi Dialog,
I made user_sys_task toNULL并在User_ble_Task中制作App_easy_Timer(),如下所示,
在回调时,我正在使用标志和切换LED 1秒
配置计时器和延迟配置,
when trying to debug in keil i can observe led toggling for 1 sec , but when i connected to ble app throughble scanner延迟减少到一半,即0.5秒,0.5秒关闭,在我断开连接之后,App_easy_timer永远不会重置。当我尝试再次连接调试器时,在app_easy_timer_cancel()中命中assert_warning(0)
我的应用程序调试led_app_timer idis zero I checked withwatch window in keil。我想知道何时取消我的app_easy_timer()以避免此停止。
Correct my code if anything is wrong.
需要知道为什么timer_id为零,是否有竞赛条件前的可能性。
Thanks in advance
Br,
BALAJI.
Hi Balaji,
Thanks for your post online and for your follow up comment as well. I read your description, but to be host I am not able to understand what you are trying to accomplish. So, could you please describe more clear what is you requirement?
>>>how to execute any hardware timer/ble appEasytimer() callbacks inside these loopbacks.
上述要求是您的要求吗?
在以下评论中,我看到了您正在使用app_easy_tuimer()。请检查aep_easy_timer_cancel()是否调用您的代码?
请提供适当的步骤,以便我可以复制此问题。
Thanks, PM_Dialog