搜索
bottom↓
回复: 0

请教下定时器3输出PWM时怎么禁止TC3的输入捕捉触发引脚起作用(M128芯片)

[复制链接]

出0入0汤圆

发表于 2010-10-12 09:19:28 | 显示全部楼层 |阅读模式
这个帖子在AVR版发了几天也没人回答,故在大虾专栏再发一遍请教下专家。。 (违规发帖的话就请版主把AVR版的帖子删除了吧)
写的程序是用定时器1和3产生PWM波,初始化设置都是一样的,调节OCR1、OCR3大小来改变占空比。这是定时器初始化部分,产生400HZ方波,用的是模式10:相位修正PWM,ICR1/ICR3的值作为计数器的TOP。
TCCR1B = 0x00; //stop
TCCR3B = 0x00; //stop                     
ICR1H  = 0x27;
ICR1L  = 0x10;
ICR3H  = 0x27;
ICR3L  = 0x10;
TCCR1A = 0xE2;
TCCR3A = 0xB2;
    定时器1产生pwm正常,可是定时器3就不能正常输出方波。用仿真器一点点的调,找到是定时器3初始化ICR3的值在程序里每次都变成了0x0000,发现应该是在M128的PE7(IC3)和PE2(AC+)这两个引脚复用有别的连线的问题。按128手册P126页所写应该是“外部引脚ICP3有输入捕捉触发信号产生后,将TCNT3的值写入ICR3”中,按照这意思我就在初始化中加入 TCNT3=0X2710 后,定时器3可以正常产生PWM了。但是这只是表面解决问题了,怎么能禁止这个IC3的捕捉触发信号呢?
按手册P123所说,“当ICRn用作TOP值时,ICPn与输入捕捉功能脱开,从而输入捕捉功能被禁用”,可是我这里ICP3怎么还是起作用呢?
    PE2脚不知道有没有问题,没有处理。
    定时器的启动是放在程序里面的,如下:  
TCCR1B = 0x11;  //start Timer
TCCR3B = 0x11;
PE7脚是连接的12864的RS脚,所以导致每次一送LCD菜单或数显示,ICR3就清零了
定时器的初始化对照了几遍手册,感觉应该是没有问题了,很纳闷怎么出现这问题。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-5 03:09

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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