各位大神,Atmega16当中如何实现精准的微秒级延时

2019-03-24 20:25发布

本人正在使用Atmega16a-au芯片,利用它的中断0来获取PD2的19位输入信号,由于输入信号有着严格的周期。因此在程序里使用了延时函数进行处理,但CVAVR里面的延时函数精度不是很高,因而造成在获取信号时,越到后面的位数时间差距越大,以至于最后一位完全无法正确获取,不知哪位大神有CVavr下的atmega16a芯片的精确延时处理方法,请赐教 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
16条回答
dcexpert
2019-03-25 13:48
ltwsq 发表于 2015-4-15 09:36
我尝试着用了定时器,但在软仿真是,三次执行同一个延时函数,时间竟然不一样,这是不是软件的原因呢?如果不是软件原因这个不敢用啊

你把程序放上来,大家讨论一下。



如果是调用函数方式,因为调用函数时,也需要指令,也会占用时间。如果精度要求不高,当然没有关系;如果你需要us级精度,就需要仔细调试,甚至用汇编了。

一周热门 更多>