亲爱的团队对话框,
谢谢你的支持。
我们有DA14683的定制板。我们在这块板上有3个led,它们没有与任何gpio绑定。我们使用LED低电平驱动api打开它们。以下是参考代码:
Static timer2_config CFG = {
傅立叶= 0,
.pwm2_end = 0,
.pwm2_start = 0,
.pwm3_end = 0,
.pwm3_start = 0,
.pwm4_end = 0,
.pwm4_start = 0,
};
hw_timer2_init (cfg);
hw_timer2_set_division_factor (HW_TIMER2_DIV_4);
hw_timer2_set_frequency (100);
hw_timer2_set_pwm_duty_cycle (HW_TIMER2_PWM_2, 100);
hw_timer2_enable ();
hw_led_set_led1_src (HW_LED_SRC1_PWM2);
hw_led_enable_led1(真正的);
以上代码打开LED是否正确?
如果是,那么我们的参考项目是BLE外围设备。我们的应用程序连续读取传感器数据,将数据存储在flash中,当应用程序通过蓝牙连接时,传感器数据将被传输到应用程序。
我们观察到,当电路板启动时,LED会打开,但几秒钟后就会关闭。这是因为设置pm_extended_sleep模式(在广告模式,板唤醒和广告后去睡觉)?如果我们设置为pm_active_mode,那么LED会连续发光。如果我们把上面的代码(LED代码)移到peri_init()函数,那么LED就会闪烁。
如果我们需要使用pm_extended_sleep模式,你能建议如何让LED连续发光吗?还建议,我们的应用程序是否需要使用pm_extended_sleep或pm_active_mode设置。我们在开发工具包中也观察到了这种行为。
请让我们知道任何澄清。
致以最亲切的问候
Malli
嗨Malli,
当系统进入睡眠模式时,外围设备的电源将关闭。因此,使用PWM的led不能在睡眠时间工作。
在我看来,你可以设置一个有效的标志检查是否PWM led工作或不。如果是,则不要进入睡眠模式。
BR,宜宾
亲爱的团队对话框,
你有任何SDK API,不进入睡眠模式?因为这个睡眠是由SDK发布模式(pm_extended_sleep)引起的。
致以最亲切的问候
Malli
嗨powersquare,
PWM模块将在睡眠期间断电,所以如果你需要led打开,你将不得不禁用睡眠(这将不会以任何有意义的方式增加功耗,因为led将消耗绝大多数的电力时,照明)
/ MHv
亲爱的团队对话框,
你能帮我们吗,如何使睡眠失效?
致以最亲切的问候
Malli
嗨Malli,
关于如何控制设备的电源模式,请参见软件参考手册第9节://www.wsdof.com/sites/default/files/um-b-044-da1468x_software_platform_reference_6v0.pdf
时钟和电源管理器(CPM)是这种类型控制的关键。您可以使用提供的CPM API告诉CPM您需要设备保持清醒。
/ MHv