3315|5

130

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

LPC11C14用定时器输出可变频率有问题 [复制链接]

本帖最后由 zzgezi 于 2016-3-28 08:51 编辑

大家好,请教大家一个问题。最近用LPC11C14做一个项目,有一部分功能是AD采集02.5V电压,转换为2001000Hz频率输出。频率输出我用32位定时器0,在定时器中断里反转I/O口实现。

AD使用AD中断采样10次,求平均值后,根据电压与频率的对应关系,修改定时器的MR0寄存器,实现改变频率周期。
下图为TIM32B0初始化函数。

TIM32B0定时器中断,作用反转I/O口。


AD采样中断,每采集10次求平均值后,修改TIM32B0的MR0寄存器,实现改变频率的作用。
注:可能有网友说不能在中断里处理,其实,频率输出异常和这个没有关系,我处理完之后再重新启动AD采样的。



现在的现场是,如果我输入的0-2.5V电压值不变,则频率输出稳定,但是电压值一发生变动,则不再输出频率,要么是高电平要么是低电平,且,在电压又稳定的情况下,频率过一段时间又出来了。
在DEBUG模式下,发现,频率输出异常时,TIM32B0的TC值跑飞了,远大于MR0寄存器的值,导致不会进定时器中断。


请问大家,这是什么情况,我哪里设置的不对吗?我也用了TIM32B0的PWM输出频率,现象差不多一样。

AD采样_频率输出.rar (178.25 KB, 下载次数: 12)

此帖出自NXP MCU论坛

最新回复

本帖最后由 EETUX 于 2016-3-28 09:08 编辑 可以先试试定时器跑完一个完整周期再修改。MR0不会太小。  详情 回复 发表于 2016-3-28 09:07
点赞 关注
 

回复
举报

165

帖子

0

TA的资源

一粒金砂(中级)

沙发
 
在DEBUG模式下,发现,频率输出异常时,TIM32B0的TC值跑飞了,远大于MR0寄存器的值,导致不会进定时器中断。

是不是修改MR0时,一改下去MR0
此帖出自NXP MCU论坛

点评

有可能是,我在修改MR0之前将TC值写0,则不会出现上述情况,但是占空比会改变,不是50%了。请问,你是如何处理这种问题的呢?  详情 回复 发表于 2016-3-28 08:58
 
 
 

回复

130

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
有可能是,我在修改MR0之前将TC值写0,则不会出现上述情况,但是占空比会改变,不是50%了。请问,你是如何处理这种问题的呢?
此帖出自NXP MCU论坛
 
 
 

回复

130

帖子

0

TA的资源

一粒金砂(中级)

4
 
EETUX 发表于 2016-3-28 08:53
是不是修改MR0时,一改下去MR0

有可能是,我在修改MR0之前将TC值写0,则不会出现上述情况,但是占空比会改变,不是50%了。请问,你是如何处理这种问题的呢?
此帖出自NXP MCU论坛

点评

可以先试试定时器跑完一个完整周期再修改。  详情 回复 发表于 2016-3-28 09:07
 
 
 

回复

165

帖子

0

TA的资源

一粒金砂(中级)

5
 
本帖最后由 EETUX 于 2016-3-28 09:08 编辑
zzgezi 发表于 2016-3-28 08:58
有可能是,我在修改MR0之前将TC值写0,则不会出现上述情况,但是占空比会改变,不是50%了。请问,你是如 ...

可以先试试定时器跑完一个完整周期再修改。MR0不会太小。
此帖出自NXP MCU论坛

点评

你的意思是,在定时器中断里修改MR0,进定时器中断,TC肯定复位了,在修改MR0保证,MR0不会小于TC。这个可以试试。太感谢了,给了我很大的启发。  详情 回复 发表于 2016-3-28 09:12
 
 
 

回复

130

帖子

0

TA的资源

一粒金砂(中级)

6
 
EETUX 发表于 2016-3-28 09:07
可以先试试定时器跑完一个完整周期再修改。MR0不会太小。

你的意思是,在定时器中断里修改MR0,进定时器中断,TC肯定复位了,在修改MR0保证,MR0不会小于TC。这个可以试试。太感谢了,给了我很大的启发。
此帖出自NXP MCU论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表