Paso 6: Programa (instalación de Arduino Mega)
Vorerst hier nur die Änderung den de für de configuración de im Arduino Mega:
von ursprungscode chr
(paso de 70)
Aquí encontrará las modificaciones a su código. (de Arduino UNO (como chr) para Arduino Mega)
void setup()
{int i;
Pernos de 22 bis 50 als Ausgänge festsetzen
para (i = 22; i < 50; i ++) pinMode (i, salida);
pinMode (A0, salida) tal como se especifica en la referencia de arduino no funciona. Por lo que accede directamente a los registros.
DDR = 0XFF;
PORTC = 0 X 00;
Restablecer cualquier configuración del PWM que arduino puede configurado automáticamente!
TCCR2A = 0 X 00;
TCCR2B = 0 X 00;
Zähler, Uhr initialisieren
TCCR2A | = (0 x 01 << WGM21); Modo de CTC. claro contador TCNT2 == OCR2A
OCR2A = 10; Interrumpir cada ciclo de cpu 25600th (256 * 100)
TCNT2 = 0 X 00; empezar a contar en 0
TCCR2B | = (0 x 01 << CS22) | (0 x 01 << CS21); Iniciar el reloj con un prescaler de 256
TIMSK2 | = (0 x 01 << OCIE2A); Registro de máscara de interrupciones de Timer
}
interrupción
ISR (TIMER2_COMPA_vect)
{
int i;
PORTA = 8 x Databus (8-Bit-pestillos) PIN 22-30 (bei uno PortD Pins 0-7)
PORTL = 3 x Adressbus + OE
PORTC = 8 x Ebenen (capa)
Char la Daten für die Halteanordnung de cubo [8] Metalldrähten 64 Bits von
todos capa selecciona off
PORTC = 0 X 00;
PORTL & = 0x0f; 3xAdressbus PortL
PORTL | = 0X08; salida activar apagado.
Zählen bis 8
para (i = 0; i < 8; i ++)
{
PORTA = cubo [current_layer] [i]; (PortA = 8xDatabus) PIN 22-30 (bei uno PortD Pins 0-7)
PORTL = (PORTL & 0xF8) | (0x07 & (i + 1)); (i + 1) = > 74HC138 erhält die folgende Sequenz: 1 2 3 4 5 6 7 0 (muss immer eins voraus sein)
}
PORTL & = 0b00110111; Activar salida.
ebenen
Si (current_layer < 8)
{
PORTC = (0 x 01 << current_layer);
}
current_layer ++;
Si (current_layer == 8)
current_layer = 0;
}