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

[复制链接]
203|10
 楼主 | 2019-9-17 15:18 | 显示全部楼层 |阅读模式
定时器如何级联

使用特权

评论回复

相关资料

| 2019-9-18 14:29 | 显示全部楼层
你是要把16位的CNT级联成32位的CNT吗?就是低位的定时器1的65536溢出的事件请求作为一个AOS事件,高位的定时器把这个AOS事件当做硬件递加的条件,这样低位定时器每溢出溢出,高位定时器可以递加(或者递减)计数一次

使用特权

评论回复
 楼主 | 2019-9-22 09:09 | 显示全部楼层
martinhu 发表于 2019-9-18 14:29
你是要把16位的CNT级联成32位的CNT吗?就是低位的定时器1的65536溢出的事件请求作为一个AOS事件,高位的定 ...

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

使用特权

评论回复
| 2019-9-23 17:46 | 显示全部楼层
本帖最后由 martinhu 于 2019-9-24 16:12 编辑

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

Timer6_32bit.zip

1.59 MB, 下载次数: 2

使用特权

评论回复
 楼主 | 2019-9-24 16:52 | 显示全部楼层
已下载,学习一下,我这边自己测试tima模块的级联了,挺简单的,很好用

使用特权

评论回复

评论

martinhu 2019-9-24 17:23 回复TA
原理一样的,刚才这个timer6的工程,好像用KEIL打开会有问题,建议使用IAR打开 
 楼主 | 2019-9-24 21:46 | 显示全部楼层
trma有标准的级联操作,设置一下就行,我想了解的是不同定时器之间通过事件来级联的例子
主要的问题aos模块的描述在手册里面找不到,使能寄存器在手册叫PTDIS,很奇怪。

使用特权

评论回复
| 2019-9-25 23:48 | 显示全部楼层
wangshujun 发表于 2019-9-24 21:46
trma有标准的级联操作,设置一下就行,我想了解的是不同定时器之间通过事件来级联的例子
主要的问题aos模块 ...

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

使用特权

评论回复
| 2019-9-25 23:52 | 显示全部楼层
wangshujun 发表于 2019-9-24 21:46
trma有标准的级联操作,设置一下就行,我想了解的是不同定时器之间通过事件来级联的例子
主要的问题aos模块 ...

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

使用特权

评论回复
| 2019-9-27 11:29 | 显示全部楼层
wangshujun 发表于 2019-9-24 21:46
trma有标准的级联操作,设置一下就行,我想了解的是不同定时器之间通过事件来级联的例子
主要的问题aos模块 ...

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

使用特权

评论回复
| 2019-10-3 10:38 | 显示全部楼层
谢谢分享!

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表