打印
[微控制器/MCU]

LPC11C14用定时器输出可变频率有问题?

[复制链接]
1012|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zzgezi|  楼主 | 2016-3-26 16:26 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 zzgezi 于 2016-3-26 16:29 编辑

大家好,请教大家一个问题。最近用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)

6.png (67.02 KB )

6.png

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

51

主题

429

帖子

7

粉丝