8个职位/0个新职位
最后一篇文章
拉杜库
离线
最后一次见到:6年6个月前
已加入:2014-02-10 22:18
计时器0信息

你好Dialog,

我正在DA14580-00(SDK v2)上开发固件,希望了解以下内容:

1) 是否可以读取定时器0的当前值?
2) 有没有关于如何在定时器0上设置中断的示例代码?
3) 是否可以在32KHz上运行定时器0并将时钟除以8(即在4KHz下运行)?
4) 是否可以在DA14580-00上运行sdkv3?

任何帮助都将不胜感激。

谢谢您,
稀有

WT\U对话框
离线
最后一次见到:3年1个月前
工作人员
已加入:2013-12-05 14:43
嗨,拉雷斯,

嗨,拉雷斯,
请看下面我的答案:
1) 是否可以读取定时器0的当前值?
对。您可以读取\u REG寄存器上的TIMER0\u来获取计数器值。
2) 有没有关于如何在定时器0上设置中断的示例代码?
定时器中断请参考SDK中的peripheral\u示例项目。这个项目也有可用的文件。
外设驱动程序文档也会有所帮助。
3) 是否可以在32KHz上运行定时器0并将时钟除以8(即在4KHz下运行)?
定时器0在深度睡眠和延长睡眠模式下关闭。
4) 是否可以在DA14580-00上运行sdkv3?
不幸的是没有。请在DA14580-01上运行SDKV3。

任何帮助都将不胜感激。

孟仲仁
离线
最后一次见到:6年8个月前
已加入:2014-04-30 17:16
定时器0和定时器2

你好,
我可以用定时器0和定时器2作为计数器吗?我要数输入信号。如何配置寄存器?

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

WT\U对话框
离线
最后一次见到:3年1个月前
工作人员
已加入:2013-12-05 14:43
你好,

你好,
您的意思是要根据输入事件的数量生成中断吗?
如果是这种情况,可以使用WKUP\u COMPARE\u REG。但这不是计时器0或1的一部分。它是一个不同的外围模块,即唤醒计时器。

你的意思是你想使用一个高于16mHZ的时钟频率为ARM核心?不幸的是,这不是一个选择。
出于电源效率的考虑,ARM核心的最大速度设置为16Mhz。

孟仲仁
离线
最后一次见到:6年8个月前
已加入:2014-04-30 17:16
你好,

你好,
我想得到一个4~5mhz的方波的频率,或者根据这个输入脉冲的个数产生一个中断。DA14580能做到吗?你有什么建议吗?谢谢

WT\U对话框
离线
最后一次见到:3年1个月前
工作人员
已加入:2013-12-05 14:43
你好,

你好,
1我想得到一个方波的频率大约是4~5MHz
对。计时器0和计时器1可以帮助您完成此操作。请检查外设的例子,有一个脉宽调制发生器的例子,肯定可以帮助您了解如何生成方波。正如我在前面的回答中提到的,定时器0和定时器1不能用于扩展/深度睡眠模式。
2根据这个输入脉冲的数目生成一个中断。
对。请检查唤醒定时器外围设备。WKUP\u COMPARE\u REG可以设置生成中断的事件数。

孟仲仁
离线
最后一次见到:6年8个月前
已加入:2014-04-30 17:16
你好,

你好,
我不想产生方波。方波是一个外部输入信号。我想测量输入信号的频率,频率大约是4~5MHz。
或者,用另一种方法,我可以计算4~5MHz频率和一般中断的输入脉冲数吗?

WT\U对话框
离线
最后一次见到:3年1个月前
工作人员
已加入:2013-12-05 14:43
你好,

你好,
我懂了。
ARM核心以16Mhz运行。4~5Mhz是频率检测的难点。
我建议尝试WKUP\u COMPARE\u REG,并设置可生成中断的事件数。
除此之外,拉GPIO电压可能是唯一的选择。但即使使用while循环,要检测4~5Mhz的频率,while循环也可能太慢。我看不到一个可靠的软件解决你的问题。