了解更多常见问题教程

6个员额/ 0个新员额
最后发表
Roie DAHAN
离线
最后看到:6个月2个星期前
加入:2018-11-19 16:32
1 ms唤醒

你好,

我试着每1毫秒配置一次唤醒(没有任何外部触发),

请告知如何配置这样的1ms“软件”唤醒
(根据我的理解app_easy_timer不支持低于10ms)

问候,

Roie

设备:
PM_Dialog
离线
最后看到:2小时52分钟前
工作人员
加入:2018-02-08 11:03
嗨Roie DAHAN,

嗨Roie DAHAN,

DA14580唤醒所需的最短时间大约是10毫秒,因为DA14580需要大约5.7毫秒。ε 10msec不是一个理想的选项,它只是作为周期性唤醒的最小值的参考。但是为什么你想每1毫秒醒来一次呢?如果DA14585被配置为任何一种睡眠模式,它将在发布或连接间隔之间进入睡眠。请检查SDK的ble_app_peripheral示例。这个例子使用了扩展睡眠模式,请检查user_config头文件中的app_default_sleep_mode。还检查同一文件中的advertise_configuration,您将看到广告间隔是100毫秒,因此设备将在广告间隔之间进入扩展睡眠模式。关于app_easy_timer,您是正确的,10ms是允许的最小值。

谢谢,PM_Dialog

Roie DAHAN
离线
最后看到:6个月2个星期前
加入:2018-11-19 16:32
你好,

你好,

我的产品要求是每1ms测量ADC,同时保持最小的电池功率,知道如何使用DA14585吗?

问候,

Roie

PM_Dialog
离线
最后看到:2小时52分钟前
工作人员
加入:2018-02-08 11:03
嗨Roie DAHAN,

嗨Roie DAHAN,

Timer0具有中断功能,您可以使用该中断功能同步ADC读取。关于如何设置timer0中断功能,可以使用timer0_general为例。您可以配置timer0为1ms的延迟,以产生一个与该周期相同的中断。所以,每一个产生中断的定时器,你都应该对ADC进行采样。关于睡眠,所有的外围设备都被关闭,包括定时器和adc。

谢谢,PM_Dialog

Roie DAHAN
离线
最后看到:6个月2个星期前
加入:2018-11-19 16:32
你好,

你好,

所以,根据我的理解,timer0是禁用的时候去睡觉,因此它不会收集每1ms的数据?

还有其他方法能让你每1毫秒就醒一次吗?

问候,

Roie

PM_Dialog
离线
最后看到:2小时52分钟前
工作人员
加入:2018-02-08 11:03
嗨Roie DAHAN,

嗨Roie DAHAN,

没有办法每1毫秒就醒来一次。当设备进入睡眠状态时,所有外围模块都将关闭,包括定时器和ADC。你只能通过以下两种方式醒来:

  • 通过可编程的BLE定时器同步唤醒系统,
  • 异步地,通过外部中断(唤醒控制器)。

请检查教程4:睡眠模式电流测量来获取更多关于睡眠模式的信息。如果您不使用任何睡眠模式(没有低功率消耗),您可以使用timer0为1ms ADC采样。

谢谢,PM_Dialog