[time-nuts] precision timing pulse

Chris Albertson albertson.chris at gmail.com
Thu Nov 17 18:30:06 EST 2016

On Wed, Nov 16, 2016 at 8:52 PM, jimlux <jimlux at earthlink.net> wrote:

> On 11/16/16 7:17 PM, Hal Murray wrote:
>> tvb at LeapSecond.com said:
>>> Arduino probably uses compiled code, external libraries, and interrupts
>>> so
>>> that also is a no-no for precise time.
>> There are two parts to the Arduino ecosystem.  One is low cost hardware.
>> The
>> other is a software package that is easy for non-wizards to use.
>> I'd be very surprised if somebody hasn't figured out how to call
>> subroutines
>> coded in assembly language.
It is using the same gcc compiler as "everyone" uses including gcc on PC
hardware.  There is no special trick.  gcc always accepts inline assembly.
  just do this  __asm__ (your asm code here);  You can Google "gcc inline
assembly" and find tutorials and examples

But WHY?  Critical timing should likely go on a hardware counter/timer And
I doubt except for tiny examples most developers could write better code
than a modern optimizing compiler

If you are looking for the most bang per buck for Arduino compatible
hardware go to eBay and search for "minimum arm" and you get a bout 1,000
items like this one

Then using Google you find there exists an Arduino boot loader you can
install.   If you don't like Arduino then rather then a boot loader load
any binary file you like

What's nice about these boards is they really ARE minimal.  The chip's
leads are just run out to 0.1 headers and other connectors and passives.
You can assign most functions to most pins and the CPU is roughly an order
of magnitude better then Arduino   With Arduino it is easy to run out of
(say) analog inputs or especially external interrupts but with this ARM you
don't run out of anything until basically you run of of pins.  There ARE
better boards but not for under $3.

Chris Albertson
Redondo Beach, California

More information about the time-nuts mailing list