Does anyone know how to create a C-language interrupt handler?
I have been advised that I can completely compile my own C-language or C++ language program that eliminates using the Arduino language, but I need to know how to configure an Arduino ATMEGA2650 board from the getgo, setting up the necessary 2650 registers and initializing timer IRQ's etc. I need to know what pins are reserved for the USB programming interface and other reserved pins on the 2650 chip and how to use a MrkII programmer to eliminate the bootloader and interface the Arduimo 2650 board to the Rev. 5 IDE provided by ATMEL. I need to know what minimal initialization is necessary to get the IRQ's and timers and A/D to get up and running on the board with my own prioritizaton of IRQ's and my own ISR.
I have much experience with PIC 16F886,16F887,16F877,16F887 processor programming in C, but they are not robust enough for this task, since there is a considerable processing, calculating overhead for a PID controller and much too much ASCII strings for the readout...so I am going Arduino!
I am attempting to create my own washing machine controller and I need to precisely control the firing of the main motor TRIAC and therefore must have a precise time reference from the zero crossover of the AC line power, precisely measure the tach output (40 tach cycles per Rev.) for a machine rated at 1600 RPM, detect the state of 5 push-button switches, control 3 LED indicators, measure the temperature of the water with the built-in thermistor, control 3-water in solonoids with TRIACS, 1 relay to control the heating element for washing water, 3 relays to control the direction and startup torque of the main drive motor, 5 TRIACS to manage the water pump, the thermal door lock, the water input solonoids, and read a PWM output water level sensor that ranges in output from 20mSec to 51mSec period, and finally, manage AC power isolated optocoupled communication to a monitoring computer for debugging my control program and monitoring operation remotely and finally and drive a 16x2 line standard alphanumeric LCD for settings and status on the machinej.