Ansifa 发表于 2013-4-7 01:30:26

Fortware 发表于 2013-4-6 12:22 static/image/common/back.gif
我按LZ的方法试了一下,Nano输出1KHz的方波,接入UNO的D2,波特率调到57600,但Arduino自带的IDE还是显示乱 ...

应该是你的UNO质量问题晶振不准确,或者你曾经修改过bootloader但是频率没对好。导致发出信号时间差大,电脑识别不了。

zhangyanbo3 发表于 2013-4-28 19:22:23

Mark,像是不错。

superid888 发表于 2013-5-1 17:46:27

用ATMEGA8和arduino V1.03,提示error: 'TIMSK1' was not declared in this scope
用ATMEGA328没有问题。
请问是什么原因?如何解决?

djk0125 发表于 2013-5-27 21:57:45

8和328的中断向量表地址不一样!8是单字地址,168的是双字地址,估计328的也是双字地址

djk0125 发表于 2013-5-27 21:58:27

atmega8、atmega168与atmega328的区别
The ATmega48PA, ATmega88PA, ATmega168PA and ATmega328P differ only in memory
sizes, boot loader support, and interrupt vector sizes.
--出自datasheet。

只是内存大小、bootloader、中断向量大小不同。那么相同封装的芯片引脚是通用的啦。

superid888 发表于 2013-5-28 00:23:10

superid888 发表于 2013-5-1 17:46 static/image/common/back.gif
用ATMEGA8和arduino V1.03,提示error: 'TIMSK1' was not declared in this scope
用ATMEGA328没有问题。
...

把TIMSK1改成TIMSK就解决了:lol
原因是328有两个timer,8只有1个

superid888 发表于 2013-5-28 00:26:22

Fortware 发表于 2013-4-6 12:22 static/image/common/back.gif
我按LZ的方法试了一下,Nano输出1KHz的方波,接入UNO的D2,波特率调到57600,但Arduino自带的IDE还是显示乱 ...

用示波器看看有没有杂波,有的话就加强电源滤波,要不就是晶振不稳

superid888 发表于 2013-5-28 00:28:06

/ka小菜一碟 发表于 2013-4-5 18:27 static/image/common/back.gif
请教版主:这个信号可以是声音信号么?我用一个单声道麦克风,来录制一个1Khz正弦波的声音,想借此计算出此 ...

这个频率计的输入端不带缓冲放大的,所以输入信号的幅值要接近5V才能测量。

瘦网虫 发表于 2013-7-5 13:00:32

以前看,看不懂,
现在看,有点懂,
留着以后慢慢看。

questfish 发表于 2013-8-6 11:54:51

哇塞 立马测试

葱头同学 发表于 2013-8-11 16:58:01

搜了一下也有挺多用mega8做频率计的 用T1做计数 T0定时 也没外加分频电路 量程都挺大的呢 可以到400KHz怎么arduino就到不了这个量程呢?

agaonet 发表于 2013-8-19 19:11:46

好贴,我弄了个电子钟的芯片,正需要这样的东东,太好了。谢谢。

qptimus 发表于 2013-8-19 21:09:13

mega2560不能用吗,为什么输出全是0?

秋刀鱼z 发表于 2014-3-10 20:51:53

请教一下,为什么不用 attachInterrupt(0, interrupt, CHANGE);这个命令,求指教,这个是不是上下沿都可以采样呢?

baypm1234 发表于 2014-4-1 13:24:57


void setup()
{
DDRB |=bit(7);
TCCR1A = 0x00;

}
SIGNAL(SIG_OVERFLOW1)
{
        TCNT1H=0X0B;
        TCNT1L=0XDB;
       PORTB |=bit(7);
}
void loop()
{
   
       PORTB &= ~bit(7);
       //PORTB |=bit(7);
      TCCR1B=0X04;
        TCNT1H=0X0B;
        TCNT1L=0XDB;
      TCCR1A = 0x00;
        TIMSK1 |=bit(0);
        SREG |=bit(7);


} 为什么我这个程序运行结果不正确
页: 1 [2] 3 4
查看完整版本: Arduino学习笔记A13 - 最简单的Arduino频率计