野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 8471|回复: 1

RT1052 Quad Timer 的溢出中断问题

[复制链接]
发表于 2018-10-8 19:51:16 | 显示全部楼层 |阅读模式
我使用Quad Timer 的外部计数方式,来计数外部脉冲个数。想实现如下功能:1.正向计数从0xFFFF到0x0000的时候产生溢出中断,逆向计数从0x0000到0xFFFF的时候产生溢出中断;2.正向计数到某个指定数值(0x0000-0xFFFF中间的任意数值)的时候,产生中断,逆向计数到某个指定数值(0x0000-0xFFFF中间的任意数值)的时候,产生中断。
我的配置是这样的:
我使用TIMER1的Chanel3的外部计数模式。
TIME1_COMP13  0x0000
TIME1_COMP23  0x0000

TIME1_CAPT3    0x0000
TIME1_LOAD3   0X0005
TIME1_HOLD3   0X      read
TIME1_CNTR3   0x0000
TIME1_CTRL3   0X2792     ONCE:0 使用循环计数模式   ;   LENGTH : 0   Count until roll over at $FFFF and continue from $0000.
TIME1_SCTRL3 0X1000

理论上按照上述设置应该能实现我想要的功能。
但是现在出现的问题是:
逆向计数,从0x0000变到0xFFFF的时候,是可以触发溢出中断;但是正向计数,从0xFFFF再计数1的时候,本来应该计数变成0x0000的,但是这个时候TIME1_CNTR3的值,会变成TIME1_LOAD3,也就是本该溢出变成0x0000的,却被强制加载了TIME1_LOAD3,导致没办法有溢出中断。


回复

使用道具 举报

发表于 2018-10-9 08:47:02 | 显示全部楼层
说不定是芯片又有bug
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-4-27 20:50 , Processed in 0.027613 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表