8个帖子/ 0新
最后一篇
rraducu.
离线
最后一次露面:6年6个月前
加入:2014-02-10 22:18
Timer0 Info.

你好对话框,

我正在DA14580-00(SDK v2)上开发固件,并想知道以下内容:

1)是否可以读取Timer0的当前值?
2)有没有关于如何在Timer0上设置中断的示例代码?
3)是否可以在32kHz上运行Timer0并将时钟划分为8(即在4kHz处运行它)?
4)是否可以在DA14580-00上运行SDK V3?

任何帮助将不胜感激。

谢谢,
稀释

wt_dialog.
离线
最后一次露面:3年1个月前
员工
加入:2013-12-05 14:43
嗨稀释,

嗨稀释,
请看我的答案以下:
1)是否可以读取Timer0的当前值?
是。您可以读取Timer0_on_reg寄存器以获取计数器值。
2)有没有关于如何在Timer0上设置中断的示例代码?
请参阅SDK中的Peripheral_example项目以进行计时器中断。还有此项目提供的文件。
外围驱动程序文件也可以提供帮助。
3)是否可以在32kHz上运行Timer0并将时钟划分为8(即在4kHz处运行它)?
Timer0在深睡眠中关闭和延长睡眠模式。
4)是否可以在DA14580-00上运行SDK V3?
不幸的是没有。请在DA14580-01上运行SDKV3。

任何帮助将不胜感激。

蒙正葛
离线
最后一次露面:6年8个月前
加入:2014-04-30 17:16
Timer0和Timer2.

嗨,
我可以使用timer0和timer2作为计数器吗?我想计算输入信号。如何配置寄存器?

系统中有一个16MHz晶体振荡器。如果时钟控制寄存器可以用于改善高于16MHz的系统时钟,如PLL?

wt_dialog.
离线
最后一次露面:3年1个月前
员工
加入:2013-12-05 14:43
嗨,

嗨,
你的意思是你想基于输入事件的数量来生成中断吗?
如果是这种情况,可以使用wkup_compare_reg。但这不是Timer0或1.它是一个不同的外围块,即唤醒定时器。

你的意思是你想为ARM核心使用高于16MHz时钟频率吗?不幸的是,这不是一个选择。
ARM核心的最大速度设定为16MHz,以供电效率原因。

蒙正葛
离线
最后一次露面:6年8个月前
加入:2014-04-30 17:16
嗨,

嗨,
我想获得大约4〜5 MHz的方波的频率,或在该输入脉冲的数量上生成中断基础。da14580可以做到吗?你有一些建议吗?谢谢!

wt_dialog.
离线
最后一次露面:3年1个月前
员工
加入:2013-12-05 14:43
嗨,

嗨,
1.我想得到大约4〜5 MHz的方波的频率
是。定时器0和计时器1可以帮助您执行此操作。请检查外围示例,有一个PWM生成器示例可以确定帮助您了解如何生成方波。正如我在先前答案中提到的那样,计时器0和计时器1不能用于扩展/深度睡眠模式。
2.在此输入脉冲的数量上生成中断基础。
是。请检查唤醒定时器外围设备。WKUP_COMPARE_REG可以设置生成中断的事件数。

蒙正葛
离线
最后一次露面:6年8个月前
加入:2014-04-30 17:16
嗨,

嗨,
我不想产生一个方波。方波是外部输入信号。我想测量输入信号的频率,频率约为4〜5 MHz。
或者,言论自说,我可以计算输入脉冲的数量,频率为4〜5 MHz频率,一般中断?

wt_dialog.
离线
最后一次露面:3年1个月前
员工
加入:2013-12-05 14:43
嗨,

嗨,
我懂了。
ARM核心以16MHz运行。4〜5MHz是频率检测可能是棘手的。
我建议尝试wkup_compare_reg,并设置可以生成中断的事件数。
除此之外,拉动GPIO电压可能是唯一的选项。但即使在循环中,要检测4〜5MHz的频率,而且循环对于此而言太慢。我没有看到您的问题的稳固软件解决方案。