wangshujun 发表于 2019-9-17 15:18

f460看手册似乎是可以定时器级联操作的,有这方面的例子吗

定时器如何级联

martinhu 发表于 2019-9-18 14:29

你是要把16位的CNT级联成32位的CNT吗?就是低位的定时器1的65536溢出的事件请求作为一个AOS事件,高位的定时器把这个AOS事件当做硬件递加的条件,这样低位定时器每溢出溢出,高位定时器可以递加(或者递减)计数一次

wangshujun 发表于 2019-9-22 09:09

martinhu 发表于 2019-9-18 14:29
你是要把16位的CNT级联成32位的CNT吗?就是低位的定时器1的65536溢出的事件请求作为一个AOS事件,高位的定 ...

手册里面对于aos描述非常少,看上去是一个极其强大的功能
我现在的需求是用一个定时器做另一个定时器的预分频,因为定时器自带的预分频是2的幂方式的,导致分辨精度和最大计时时间存在矛盾

martinhu 发表于 2019-9-23 17:46

本帖最后由 martinhu 于 2019-9-24 16:12 编辑

这个是使用timer61和timer62做了一个级联的功能Timer61计数到0xFFFF之后产生上溢事件OVF,timer61的OVF EVENT作为timer62的硬件递加计数功能,每次timer61的OVF事件,可以使timer62递加计数一次
可以把这个附件放在驱动库样例的如下路径里参考使用

wangshujun 发表于 2019-9-24 16:52

已下载,学习一下,我这边自己测试tima模块的级联了,挺简单的,很好用

wangshujun 发表于 2019-9-24 21:46

trma有标准的级联操作,设置一下就行,我想了解的是不同定时器之间通过事件来级联的例子
主要的问题aos模块的描述在手册里面找不到,使能寄存器在手册叫PTDIS,很奇怪。

xch 发表于 2019-9-25 23:48

wangshujun 发表于 2019-9-24 21:46
trma有标准的级联操作,设置一下就行,我想了解的是不同定时器之间通过事件来级联的例子
主要的问题aos模块 ...

12.4.9内部触发事件
ADC、TMR、DMA,PORT、DCU 等周边外设除通过配置模块本身的寄存器开始工作
以外,也可以通过写外设触发事件寄存器触发其他模块开始工作。具体设定流程请参
考各模块章节。

xch 发表于 2019-9-25 23:52

wangshujun 发表于 2019-9-24 21:46
trma有标准的级联操作,设置一下就行,我想了解的是不同定时器之间通过事件来级联的例子
主要的问题aos模块 ...

搜索:TRGSEL,可得各种可以内部触发的模块及其对应设置寄存器。

martinhu 发表于 2019-9-27 11:29

wangshujun 发表于 2019-9-24 21:46
trma有标准的级联操作,设置一下就行,我想了解的是不同定时器之间通过事件来级联的例子
主要的问题aos模块 ...

定时器可以输出计数溢出事件,如果被触发定时器可以设置trigger source,而且支持硬件递加计数,比如timera和timer6,他们之间也可以级联

zlmin 发表于 2019-10-3 10:38

谢谢分享!
页: [1]
查看完整版本: f460看手册似乎是可以定时器级联操作的,有这方面的例子吗