⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
7个帖子/ 0个新
最后发表
沃利
离线
最后看到:1年4个月前
加入:2016-06-21 01:23
timer0问题

当Timer0中断时,同时使用PWM。时机不对。

空白timer_init(空白)

set_tmr_enable (CLK_PER_REG_TMR_ENABLED);
set_tmr_div (CLK_PER_REG_TMR_DIV_8);
timer0_init (TIM0_CLK_FAST PWM_MODE_ONE TIM0_CLK_NO_DIV);
timer0_register_callback (Timer0_IRQ_Handle);
timer0_set(1500、900、100);
timer0_enable_irq ();
timer0_start ();

timer0_set(1500、900、100);

PWM的高低是正确的,900=450us, 100=50us。
中断时间不正确,1500=750us,实际时间是1000us。

附件:
设备:
LC_Dialog
离线
最后看到:20小时47分钟前
工作人员
加入:2016-09-19 23:20
嗨,沃利,

嗨,沃利,

在DA14580中,ON计数器中断依赖于PWM的HIGH和LOW值,因为寄存器操作重新加载ON计数器值(在本例中为1500)必须等待,直到计时器寄存器LOW值达到零。让我们假设,当定时器PWM0处于LOW计数中间时,ON计数器达到0,直到PWM0在LOW计数上达到0,然后产生中断,ON计数器保持在0。为了保持一致,建议配置HIGH LOW值,使HIGH和LOW的和始终等于ON值。希望这个有帮助。请参阅下面的文档片段。

最好的
LC_Dialog

bemoon
离线
最后看到:2年1个月前
加入:2017-07-19并表达
这就跟你问声好!信用证。

这就跟你问声好!信用证。
你能上传整个文件吗,或者告诉我们你引用的文件的参考编号吗?
谢谢!

PM_Dialog
离线
最后看到:5小时20分钟前
工作人员
加入:2018-02-08 11:03
嗨bemoon,

嗨bemoon,

此信息来自DA14580 SoC的完整规范,无法提供。

谢谢,PM_Dialog

bemoon
离线
最后看到:2年1个月前
加入:2017-07-19并表达
感谢您的回复。

感谢您的回复。

LC_Dialog
离线
最后看到:20小时47分钟前
工作人员
加入:2016-09-19 23:20
嗨bemoon,

嗨bemoon,

添加到PM_Dialog的注释中,您可能会在DA14585数据表中找到此信息。DA14580上的这个模块与DA14585上的类似。所以你可以参考这个文档。
请注意,并非所有其他模块都是类似的。

最好的
LC_Dialog

bemoon
离线
最后看到:2年1个月前
加入:2017-07-19并表达
非常感谢LC。

非常感谢LC。
这是非常有用的!