亲爱的支持,
我正在DA14580基本工具包上工作。到目前为止,我一直在ble_app_peripheral项目上工作。我能够从浅蓝色IOS应用程序请求发送ADC数据。
我们需要设置一个定时器,每5分钟取adc值,并存储在固定长度为12的缓冲区中。这个想法是在每个给定的时间点,我们将有最后60分钟的ADC样本,间隔5分钟。
你能不能给我一个类似的例子,这样我就可以开始寻找并实现这一点。或者,如果我在没有任何示例代码的情况下这样做,您能告诉我应该从哪个文件开始吗?
这就是我们想要的。
1.设置定时器触发ADC测量5分钟。
2.进行ADC测量
3.更新缓冲
4.轻度睡眠,但继续计时。
所有这些都必须在连接移动应用程序的情况下发生。
5.如果应用程序请求数据,设备必须发送所有缓冲数据包。
请帮帮我。
欢呼,
斯里兰卡。
关键词:
设备:

嗨,斯里兰卡,
希望我能帮你找到正确的方向:
1)设置计时器-计时器可以使用:timer_hnd app_easy_timer(const uint16_t delay, timer_callback fn)设置;
我们的ble示例(包括您正在使用的外围示例)在连接时启动这些计时器之一
2) ADC测量-似乎你已经知道如何做到这一点。但是,有一个文档有助于ADC功能UM-B-004,也有一个SDK的外设示例
3)请使用任何一个例子-如果这是一个标准配置文件,你可以包括在你的user_profiles_config.h,如果不是,请使用一个自定义配置文件。ble示例和文档应该能正确地指导您(教程4:构建自定义概要文件)
4)计时器可在休眠模式下运行。在user_config.h中,设置app_default_sleep_mode = ARCH_EXT_SLEEP_ON
5)这个逻辑应该基于一个标准概要文件或一个自定义概要文件。创建一个具有'write'属性的特征(如ble示例中所示)。
谢谢你的快速回复,
这消除了我心中的一些灰色地带。一个快速的问题,我在哪里设置timer_hnd app_easy_timer(const uint16_t delay, timer_callback fn);?在arch_main文件@ while(1) ?
是SDK 5.0.4,建议不要在app_main文件中写代码。SDK建立在使用“用户”空间的原则上:user_config, user_custom_profile, user_platform, user_app是你在应用程序中使用的典型文件夹结构。
这将创建一个事件驱动的应用程序。在user_callback_config中,您可以将sdk指向特定事件的处理程序或使用默认处理程序。我举三个例子:
1)如果你想在一个连接事件上启动定时器-在user_callback_config.h -> user_app_callbacks中,你把指针指向一个用户函数,比如user_app_connection。在头文件中创建原型。现在,SDK将在连接事件期间调用此函数。在你的“用户函数”中,你可以启动计时器。
2)如果你想在初始化时创建定时器,你可以从主循环开始,通过在user_callback_config.h -> .app_on_init中设置一个类似的指针。
3)如果你想从一个自定义特征的写入开始,你可以从user_callback_config.h中的catch_rest_hndlr (app_process_catch_rest_cb)中捕获这个。为了“捕获”这个写入,在ble示例(特别是ble_peripheral)中用user_catch_rest_handle进行了说明。
我希望这能澄清一些事情。
/ /乔恩
谢谢你!
会尝试一下,然后再告诉你。
亲爱的JK_Dialog,
非常感谢你的帮助。我可以把它修好。非常感谢你的帮助。
斯里兰卡。
嗨ksrgopinath,
如果您认为上述答案有帮助,请点击接受答案选项以验证答案。
由于MT_dialog