luni,
Thank you very much for your thoughtful help, code, and suggestions. I now have a program that is working flawlessly, and you definitely helped get it working. Lots of food for thought in the discussion.
Best Regards,
vms
First, thank you for you kind assistance. The Teensy community is impressively helpful and vital. It is a treat to find a community like this. So thanks again.
As to the asynchronous I/O if fine the following in the Arduino release notes:
Release Notes ARDUINO 1.0 - 2011.11.30 [core /...
Additional follow-up: Just ran on Big Mac for over an hour with
1. Delay loop based on Serial.availableForWrite was less than delay(5), and
2. MICRO_SECONDS_PER_SAMP = 1
Running without crashes.
Still wonder about why I can't run this with delay(1) in the serial wait loop. That could be a...
First, thanks all for looking at this.
Some key points:
1. millis() won't work since I want to run at 100kHz. MICRO_SECONDS_PER_SAMP = 1000 was just to get it to run at all. I want to #define MICRO_SECONDS_PER_SAMP = 10. This fails. I got this down to #define MICRO_SECONDS_PER_SAMP = 250...
Thanks defragster! lengthening the delay in the Loop from 1 to 25 or 50 solves the crash problem at a 1kHz IntervalTimer frequency.
while(Serial.availableForWrite()) {
delay(1);
}
I have run the IntervalTimer ISR for millions of cycles without the crash anymore. Looks like the pile up is...
Using IntervalTimer to try and read ADC and write DAC on a regular interval (1kHz in this test). Step 1 is to simply gather time tags in an array. micros() failed earlier and I read where micros() in an interrupt service routine does not work because it sets off its own interrupts. But the...