SparkFun Forums 

Where electronics enthusiasts find answers.

Have questions about a SparkFun product or board? This is the place to be.
By sterretje
Good day

Thanks in advance for reading and advise.

I recently bought through a local dealer in South Africa and I'm having fun.

I have encountered a funny in the output of a 8MHz square wave from an Arduino Uno where every 150 us (with slight variation) there is no activity; see image below.
Measuring the times with Pulseview shows indeed a 8MHz signal (62.5 ns high, 62.5 ns low) when it is there.

It boils down to every 1200 periods (2400 samples) I miss 80 periods (160 samples). I'm aware that I'm working at the limits of the specifications but that does not quite explain it to me; if this was a sampling issue, I would expect it to give me a varying duty cycle.

One reason for this behaviour can be that the internal memory of the logic analyser is limited. A 2k internal memory would basically explain it as after that the buffer needs to be transferred to the PC. I tried to find the spec for this memory depth but did not see it. Anybody any idea? Or who to contact in case this is not really a forum question.

The code that generated the signal
Code: Select all
#define PIN11
void setup()
#ifdef PIN11
  DDRB |= (1 << 3);//pin 11
  TCCR2A = (1 << COM2A0) | (1 << WGM21) | (1 << WGM20);
  TCCR2B = (1 << WGM22) | (1 << CS20);
  OCR2A = 0;//(F_CPU)/(2*(X+1))
  DDRB |= (1 << 1);//pin 9
  TCCR1A = (1 << COM1A0) | (1 << WGM11) | (1 << WGM10);
  TCCR1B = (1 << WGM13) | (1 << WGM12) | (1 << CS10);
  OCR1A = 0;//(F_CPU)/(2*(X+1))

void loop()