I have written an extensive (25k) program that works perfectly on the NANO
I have made a new board with an ATMEGA328-PU dil version on it
My new chip has the UNO bootloader (optiboot ??)
There are some basic functions (timers/leds/buttons) that all seem to work
But I think it the ram that is screwed !
I am using Arduino IDE 1.0
Should I burn a new bootloader to the chip ? ( I need to buy an ISP device)
Thanks in advance
I have made a little more progress...
It seems that there is some kind of interrupt clash
I am using DMXSerial.h AND MsTimer2.h
they both work together fine on the NANO
On my UNO board the program will crash if I use...
- MsTimer2 AND DMXSerial together
- MsTimer while trying to output Serial data (not using DMXSerial)
- DMXSerial on its own !!
I have replicated a simple timer like this..
void loop() {
if (millis() - lastMillis > 25) { lastMillis = millis(); timerFunctions(); }
}
I know its not my code, becuase this works perfectly on the NANO, just fails on my UNO
Have I got a dodgy UNO ?
Has something been programmed onto it to stop the timer interrupts working right ?
HELP, PLEASE
One last note..
If I write output my DMX by bit bashing the serial port as here > Arduino Playground - DMXSerial
and just put a delay(20) after the serial output.. IT WORKS FINE
as soon as I introduce the millis() function, the data output stops !
PROBLEM SOLVED
there is a recent(ish) update on the mathertel.de site which sorts out a problem using DMXSerial with UNO's
Also I update my IDE to 1.0.1 and all works fine now