Fortware 发表于 2013-4-6 12:22 static/image/common/back.gif
我按LZ的方法试了一下,Nano输出1KHz的方波,接入UNO的D2,波特率调到57600,但Arduino自带的IDE还是显示乱 ...
应该是你的UNO质量问题晶振不准确,或者你曾经修改过bootloader但是频率没对好。导致发出信号时间差大,电脑识别不了。
Mark,像是不错。
用ATMEGA8和arduino V1.03,提示error: 'TIMSK1' was not declared in this scope
用ATMEGA328没有问题。
请问是什么原因?如何解决?
8和328的中断向量表地址不一样!8是单字地址,168的是双字地址,估计328的也是双字地址
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-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个
Fortware 发表于 2013-4-6 12:22 static/image/common/back.gif
我按LZ的方法试了一下,Nano输出1KHz的方波,接入UNO的D2,波特率调到57600,但Arduino自带的IDE还是显示乱 ...
用示波器看看有没有杂波,有的话就加强电源滤波,要不就是晶振不稳
/ka小菜一碟 发表于 2013-4-5 18:27 static/image/common/back.gif
请教版主:这个信号可以是声音信号么?我用一个单声道麦克风,来录制一个1Khz正弦波的声音,想借此计算出此 ...
这个频率计的输入端不带缓冲放大的,所以输入信号的幅值要接近5V才能测量。
以前看,看不懂,
现在看,有点懂,
留着以后慢慢看。
哇塞 立马测试
搜了一下也有挺多用mega8做频率计的 用T1做计数 T0定时 也没外加分频电路 量程都挺大的呢 可以到400KHz怎么arduino就到不了这个量程呢?
好贴,我弄了个电子钟的芯片,正需要这样的东东,太好了。谢谢。
mega2560不能用吗,为什么输出全是0?
请教一下,为什么不用 attachInterrupt(0, interrupt, CHANGE);这个命令,求指教,这个是不是上下沿都可以采样呢?
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);
} 为什么我这个程序运行结果不正确