搜索
bottom↓
回复: 4

请教:lgt8f08a,TIME1工作在CTC模式下,二次启动定时器异常

[复制链接]

出0入0汤圆

发表于 2013-6-9 15:12:45 | 显示全部楼层 |阅读模式
我现在的故障现象是:
8MHz晶振,用于产生125KHz,Time1设置如下

void timer1_init(void)
{
TCCR1B = 0x00; //stop
TCNT1H = 0x0; //setup
TCNT1L = 0x0;
OCR1AH = 0x00;
OCR1AL = 0x1F;
OCR1BH = 0x00;
OCR1BL = 0x1F;
ICR1H  = 0x00;
ICR1L  = 0x1F;
TCCR1A = 0x50;
TCCR1B = 0x09; //start Timer
}

T1启动后,OC1A,OC1B能正常输出我要的125KHz信号,我中途随机停止T1
TCCR1B = 0;
再次启动定时器时,之前停止T1的时候,TCNT的值不确定,需要对定时器的计数器进行清除
TCNT1H=0;
TCNT1L=0;
TCCR1B = 0x09; //start Timer

这时发现,OC1A,OC1B就不能输出波形了
如果不修改TCNT的值,直接启动定时器就没这问题



阿莫论坛20周年了!感谢大家的支持与爱护!!

阿莫论坛才是最爱国的,关心国家的经济、社会的发展、担心国家被别国牵连卷入战争、知道珍惜来之不易的和平发展,知道师夷之长,关注世界的先进文化与技术,也探讨中国文化的博大精深,也懂得警惕民粹主义的祸国殃民等等等等,无不是爱国忧民的表现。(坛友:tianxian)

出0入0汤圆

 楼主| 发表于 2013-6-9 15:20:10 | 显示全部楼层
Mega48下,类似的功能代码,修改TCNT1的值,定时器都是没问题的,都能达到预期的效果

出0入0汤圆

发表于 2013-7-23 18:21:17 | 显示全部楼层
试了一下你的程序 完全没问题的。 你相应的端口设为输出了么?

出0入0汤圆

 楼主| 发表于 2013-7-24 01:50:51 | 显示全部楼层
本帖最后由 whimsyB 于 2013-7-24 01:52 编辑
jianghu-00091 发表于 2013-7-23 18:21
试了一下你的程序 完全没问题的。 你相应的端口设为输出了么?


端口在程序的开始肯定是设置为输出了,关闭定时器,我没有改变端口的模式,按道理重新开启定时器就可以延续之前的输出模式

难不成关闭后,要重新配置端口? 不知道你的测试,是否在关闭后有重新配置端口? 我也自己测试下重新配置端口看是否有效果

你是否测试过重新:TCNT1H=0;TCNT1L=0;清空计数器

出0入0汤圆

发表于 2013-7-24 10:24:23 | 显示全部楼层
whimsyB 发表于 2013-7-24 01:50
端口在程序的开始肯定是设置为输出了,关闭定时器,我没有改变端口的模式,按道理重新开启定时器就可以延 ...

我就在一开始设置的端口  后面就没变过  下面是我的程序  就是照你的程序写的
void timer1_init(void)
{
        TCCR1B = 0x00; //stop
        TCNT1H = 0x0; //setup
        TCNT1L = 0x0;
        OCR1AH = 0x00;
        OCR1AL = 0x1F;
        OCR1BH = 0x00;
        OCR1BL = 0x1F;
        ICR1H  = 0x00;
        ICR1L  = 0x1F;
        TCCR1A = 0x50;
        TCCR1B = 0x09; //start Timer
        DDRD |= 0x30;
}

int main(void)
{
       timer1_init();
       while(1)
                {
                        Delay_ms(300);
                        TCCR1B = 0;
                        Delay_ms(300);
                       
                        TCNT1H = 0;
                        TCNT1L = 0;
                        TCCR1B = 0x09;
                }
}
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-16 18:47

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

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