亲爱的对话团队,
感谢您的支持。
我们有自定义董事会由DA14683制作。我们在这个板上有3个LED,他们没有与任何GPIO相关联。我们使用LED低电平驱动器API打开它们。以下是参考代码:
静态timer2_config cfg = {
.frequency = 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代码)移动到Periph_init()函数,则LED闪烁。
如果我们需要使用pm_extended_sleep模式,你可以建议如何连续发光吗?另外,我们是否需要为我们的应用程序使用pm_extendend_sleep或pm_active_mode设置。我们也观察了开发套件中的这种行为。
请告诉我们任何澄清。
最好的祝福
马利
嗨米莉,
系统进入睡眠模式时,将关闭派的力。因此,使用PWM的LED在睡眠时间内无法工作。
在我看来,您可以设置有效的标志检查PWM LED是否工作。如果是,则不要进入睡眠模式。
BR,宜宾
亲爱的对话团队,
您有任何SDK API,不进入睡眠模式吗?因为这种睡眠是由SDK广告模式(PM_EXTENDEND_SLEEP)引起的。
最好的祝福
马利
嗨powersquare,
PWM块将在睡眠期间断电,因此如果您需要LED,您将不得不禁用睡眠状态(这不会以任何有意义的方式增加功耗,因为LED在点亮时消耗绝大多数电力的)
/ mhv.
亲爱的对话团队,
你能帮助我们,如何禁用睡眠?
最好的祝福
马利
嗨米莉,
有关如何控制设备的电源模式的详细信息,请参阅软件参考手册第9部分:https://www.dialog-seminile.com/sites/default/files/um-b-044-da1468x_software_platform_reference_6v0.pdf.
时钟和电源管理器(CPM)是此类控制的关键。您可以告诉CPM您需要使用提供的CPM API保持唤醒。
/ mhv.