51定时器的问题
如果定时为10us,然后每10us触发timer()函数,函数体如下
if (a == 0)
b ++ ;
else
b = 0 ;
这几条语句的执行时间会不会很长,超过10us,没执行完,函数再一次触发,乱套了啊
[解决办法]
如果你需求很精确的10US的话你得找个速度快点的
[解决办法]
定时器中断是不是会自己嵌套的
正在响应中断的时候,定时器是没有重新复位的,而是在中断响应完成之后,对会清除中除标志重新开始定时
代码的问题应该出在别的地方
另外,LS说得不错,10微秒对一般的51来说,是有点太短了,最好换个性能好一点的芯片实现
[解决办法]
51的中断是不会打断同等优先级(自己)的中断,中断函数过长会产生中断丢失,但不会乱套