Paso 11: LEDS y código principal en C
"¡ Un momento!" Le oigo exclamar. "Zach, esto es ridículo! Por qué sería cambiar idiomas mediados instructable!"Tengo dos respuestas para ti.
1. porque es importante entender cómo Asamblea puede ligar código de C
2. porque nuestra asignación requiere una mezcla de Asamblea y C código de marca buena: P
Por lo tanto, independientemente de la razón, esto es el siguiente paso en nuestro proceso y afortunadamente, en gran medida la más fácil.
Vamos a escribir una función principal en C que llamará a la función pokemonmaster en Asamblea.
También vamos a escribir una simple función de C que se enciende y se apaga algunos LED cuando se ha disparado una interrupción del sensor.
Y aquí está el código:
#include < stdio.h >
void lightup(int *LEDS);
int main() {}
pokemonmaster();
return 0;
}
void lightup(int *LEDS) {}
* LEDS = 10;
retorno;
}
void lightdown(int *LEDS) {}
* LEDS = 0;
retorno;
}
Y pensabas que sería difícil: P
El verdadero truco aquí es para asegurarse que la dirección para los LEDS que desea registro 4 (r4) antes de llamar a las funciones de lightup y lightdown. Como dije antes, las variables se pasan en r4-r7, luego la pila. Se trata de una norma, y C fue escrito para esperarla.
Eso es todo! Si has conseguido seguir mis instrucciones confusas, tendrás un código bastante ingenioso.
Si usted ha tenido algún problema con estas instrucciones de codificación, por favor no dude en hacerme una pregunta. Voy a hacer mi mejor esfuerzo para aclarar nada.
Ahora, vamos a poner todo junto y obtener nuestro robot caminando!