嗨,您好,
当我尝试更改睡眠模式的钩子时,我遇到了我的include链中的错误。
如睡眠模式手册中所述,我的中断设置了我们检查挂钩#2的标志(event1_flag),如果它设置了另一个标志(Event1_flag_sync)被设置为挂钩#1。
两个标志都在app_ourproject_proj.h中声明(使用__retated的保留内存中的第二个)。
当我们想要包含app_ourproject_proj.h时,我们在包含链中收到错误,陈述:
“包括链(Gap.h)中的错误:使用未释录的标识符'smpm_addr_type_static'”“
我们应该在其他地方保存我们的旗帜吗?
有任何想法吗?

嗨,
您是否在应用程序中使用扩展睡眠或深度睡眠模式?
如果标志指示应用程序应该进入睡眠,则在挂钩#2中设置,挂钩#1调用函数
“app_set_deep_sleep()”和“app_ble_ext_wakeup_on()”
如此深睡眠和睡眠,直到中断发生特征。
嗨,
编译错误对我来说非常奇怪。smpm_addr_type_static似乎与您在做的事情无关紧要。
可以在钩#1和挂钩#2中共享代码吗?
我们通过在SMPM.H中给出Gap.h中的变量来绕过问题,而不是将它们设置为等于变量本身。
extern bool button_pressure_sync_flag;
extern bool buttonflag;
extern void app_adv_stop();
extern void app_adv_start();
extern int计数器;
extern bool chedagein2;
钩#1
静态内联BOOL APP_ASYNCH_TRM(void)
{
bool ret = false;
if(recketIn2)
{
if(button_pression_sync_flag)
{// naar sleepmode
app_adv_stop();
app_set_deep_sleep();
// nog子公司
app_ble_ext_wakeup_on();
// lars.
button_pression_sync_flag = false;
// app_adv_stop();
}
其他
{// uit sleepmode willen gaan
app_ble_ext_wakeup_off();
// nog子公司
app_adv_start();
app_disable_sleep();
}
chedagein2 = false;
ret = true;
}
返回Ret;
}
钩#2
静态内联bool app_asynch_proc(void)
{
bool ret = false;
if(buttonflag)
{
柜台++;
if(柜台%2)
{
// Gedrukt,Maar False,Dus Zet下摆在SleepMode
button_pression_sync_flag = true;
// app_adv_stop();
chedagein2 = true;
}
其他
{
button_pression_sync_flag = false;
// app_adv_start();
chedagein2 = true;
}
ret = true;
buttonflag = false;
}
返回Ret;
}
ButtonFlag,Button_pression_Sync_Flag,ChamperIn2和计数器都已保留(在我们的项目文件App_filename_proj中)。