问下傻孩子你的书中关于定时器1的内容的不同意见之处!!
傻孩子,你好。前段时间买了你的书,看着非常受益。然后我看到第127页,关于重加载定时中断周期这段函数的时候,我有个疑问,想请教一下:
有以下两段函数:
void Timer1_OVF_ISR(void)
{
TCNT1L=0xFF;
TCNT1H=0x05;
}
void Timer1_OVF_ISR(void)
{
TCCR0B = 0x00;
TCNT1L=0xFF;
TCNT1H=0x05;
TCCR0B = 0x05;
}
我看到第1个函数重载方式可能会“丢失”计数器低半字节的设置信息。第2个函数是为了补救所写的。
但是这样的话,我的疑问来了,但是第2个函数的话,这样计数器在整个过程中计数精度就不是很高了。好比这4句话运行完之后,才开始计数,那么这4句话的时间就是多出来的误差了。
你觉得我的理解对吗??有么有什么办法弥补下?? 这个只是示例,实际情况需要把现场保护的时间算进去,要精确就用自动重装方式 怎么个重装法???请教楼上 请下载链接里面的电子书,然后看定时器章节。
http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3239709&bbs_page_no=1&bbs_id=3039 还是51的思想!害人不浅,赶快放弃之。
既然每次都是重置相同的初值,为什么不用CTC方式?在我的讨论组中有专门的讨论和分析。
使用现在比mcs-51好的MCU,尽量不要使用溢出中断! 嗯,谢谢马老师提醒,所以我才写了补遗的内容,详细介绍了几种不同的计数器模型,让读者做到知其然,知其所以然。 回复【4楼】machao
-----------------------------------------------------------------------
那请问用什么方法啊??有么有连接啊?谢谢 你看我给你链接里面的资料就知道了。不要浮躁,如果你真的看过那个资料,也不会再问这个问题。
页:
[1]