Hola Bixix, veo que te has lanzado de cabeza ¿eh?
si no te importa pego parte del código aquí:
cómo puedo saber cada cuanto tiempo se dá la interrupción?
**
Generates interrupts every 10 ms.De todos modos si no te fias o cambias la frecuencia de trabajo, con breakpoints en el simulador se puede ver fácilmente.
Cuando llega ticks a 100?
Pues si genera una interrupción cada 10 ms y la variable ticks se incrementa en 1 cada vez que se atiende la interrupción...
Qué sentido tienen los ticks?
int ticks; es una variable que se utiliza como contador de interrupciones. En este caso pretende ejecutar el:
if (ticks++ >= 100) { /* blink LED 1 slowly */
ticks = 0;
PORTDbits.RD0 ^= 1;
}cuando la variable ticks sea mayor o igual a 100.
qué era ^= ??(Lo sé muy básico... )???
Es una XOR a nivel de bits (en este caso complementa a 1 que es equivalente a ~=). Puedes encontrar más información en cualquier manual básico de C/C++.
Porqué el dsPIC crea una interrupción?
/* blink LED 1 slowly */Esta interrupción no es para el si3000, seguramente tendrá otra fuente por ahí.
Un saludo y suerte.