亲爱的团队对话框,
谢谢你的支持。
我们有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代码)移动到peripher_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.xmece.com/sites/default/files/um-b-044-da1468x_software_platform_reference_6v0.pdf
时钟和电源管理器(CPM)是这类控制的关键。您可以使用提供的CPM API告诉CPM您需要设备保持清醒。
/ MHv