Difference between revisions of "Blinking Blues Quick Version"
Russ hensel (talk | contribs) (Created page with "In reply to James C4S and others I have compiled his code to run on pin6 my analyzer channel 3. The code in its entirety is: <pre> const int ledPin=6; void setup() { pi...") |
Russ hensel (talk | contribs) |
||
Line 1: | Line 1: | ||
− | + | = Blink Broken = | |
+ | |||
+ | The blink program ( lightly modified ) gives unexpected results. | ||
+ | |||
+ | |||
+ | Reduced version of issues raised at | ||
+ | * [[Blinking Blues]] | ||
+ | * Arduino Forum http://forum.arduino.cc/index.php?topic=445889.0 | ||
+ | |||
+ | = The Code = | ||
+ | |||
+ | The code in its entirety is: | ||
<pre> | <pre> | ||
Line 20: | Line 31: | ||
</pre> | </pre> | ||
+ | = Results = | ||
+ | |||
+ | In the gif below focus on channel 3, that is pin6 The cursor measurement for 1,2,3,4 are all about 10.1 ms, a value which seems "right". But at cursor 5,6 you can see a pulse of period 11.060 ms. This is the "glitch" ( bad term here ) that I am talking about. It repeats about every 80 ms. This sort of behavior with some different details has been present in every test I have conducted. | ||
+ | I did look at the rise and fall time on my scope, it is about 20 ns. I cannot catch this stretched pulse on my scope, but looking for a 1 ms discrepancy across 80 ns is not really easy on a scope. I did use the single sweep option and mess with a bunch of the variables. Right now I trust the logic analyzer for this more than the scope, you can try to present an argument for why I should not. I have to confess I have not tried my old 100 mhz analog scope on this guy. | ||
− | |||
− | + | [[File:BE_1.gif]] |
Revision as of 07:11, 4 January 2017
Blink Broken
The blink program ( lightly modified ) gives unexpected results.
Reduced version of issues raised at
The Code
The code in its entirety is:
const int ledPin=6; void setup() { pinMode(ledPin, OUTPUT); } void loop() { while ( true ) { digitalWrite( ledPin, HIGH ); // turn the LED on delayMicroseconds( 5000 ); // wait digitalWrite( ledPin, LOW ); // turn the LED off delayMicroseconds( 5000 ); // wait } }
Results
In the gif below focus on channel 3, that is pin6 The cursor measurement for 1,2,3,4 are all about 10.1 ms, a value which seems "right". But at cursor 5,6 you can see a pulse of period 11.060 ms. This is the "glitch" ( bad term here ) that I am talking about. It repeats about every 80 ms. This sort of behavior with some different details has been present in every test I have conducted.
I did look at the rise and fall time on my scope, it is about 20 ns. I cannot catch this stretched pulse on my scope, but looking for a 1 ms discrepancy across 80 ns is not really easy on a scope. I did use the single sweep option and mess with a bunch of the variables. Right now I trust the logic analyzer for this more than the scope, you can try to present an argument for why I should not. I have to confess I have not tried my old 100 mhz analog scope on this guy.