Ich sehe gerade, dass Du die Interrupts nicht aktiviert hast:
Ruf mal die Funktion enable_interrupts() vor der Initialisierung des BGX1 auf...