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

2019-03-24 20:25发布

本人正在使用Atmega16a-au芯片,利用它的中断0来获取PD2的19位输入信号,由于输入信号有着严格的周期。因此在程序里使用了延时函数进行处理,但CVAVR里面的延时函数精度不是很高,因而造成在获取信号时,越到后面的位数时间差距越大,以至于最后一位完全无法正确获取,不知哪位大神有CVavr下的atmega16a芯片的精确延时处理方法,请赐教 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
16条回答
hejunpeng
1楼-- · 2019-03-26 19:29
用IAR或者Atmel Studio 6 吧,其他软件不推荐!
咖啡分你一半
2楼-- · 2019-03-27 00:00
用机器语言,就是汇编语言来编写~~~~~~
duhang
3楼-- · 2019-03-27 03:52
 精彩回答 2  元偷偷看……
dj狂人
4楼-- · 2019-03-27 07:08
各路大神纷出妙招啊,哈哈。

楼主的问题我简单算了下,8M的晶振,如果是单指令周期的话,那么 时钟周期 = 1/8 (us),也就是计数器计完8个数刚好历时 1us ,这样的话用时刻检测计时器的计数寄存器 来实现 us 级延时应该也是可以的

一周热门 更多>