打印
[AVR单片机]

有办法关闭MEGA48输入捕捉功能吗?

[复制链接]
2340|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
乙天|  楼主 | 2007-8-10 20:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
定时器1用与产生PWM,PB0输出。
发现PB0输出改变时,会改变ICR1的值。这样PWM 周期也改变了。

查了DATASHEET,没有发现可以关闭输出捕捉的。

T1定时器各寄存器除ICR1都为的0的情况,PB0输出改变时,ICR1为0。

相关帖子

沙发
coldra| | 2007-8-10 21:01 | 只看该作者

不会有这种事吧,可能是配置不对

使用特权

评论回复
板凳
乙天|  楼主 | 2007-8-10 21:20 | 只看该作者

是真的,都花大半天的时间调试才发现是输出捕捉改变了ICR1

我的PWM周期是由ICR1确定的,固定值是0XFF。
由于PWM只在特定条件才产生,所以各寄存器除ICR1为0XFF外其它都赋值为0.

PB0作为负载开关信号,当PB0输出为低时,ICR1载入了TCNT1的值(为0),这样当PWM输出时,由于ICR1被意外改变,PWM也就无法正常输出了。

使用特权

评论回复
地板
乙天|  楼主 | 2007-8-11 10:57 | 只看该作者

中英文的DATASHEET都看过了

我只给ICR1赋值,其它都设为0也就是并没有设置ICR1为TOP。也许需要设置为PWM工作方式才会关闭吧,上电寄存器默认情况捕捉确是打开了的。
我用仿真器单步查看,只要PB0变化就会引起ICR1更新。

使用特权

评论回复
5
zhiwei| | 2007-8-11 16:22 | 只看该作者

是的

只有用作PWM模式的TOP时捕捉才失效,其他模式下会捕捉的。所以如果用ICR1做TOP它就不会无故改变。

使用特权

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

本版积分规则

64

主题

8218

帖子

8

粉丝