Mbed-classic Ticker - Blockiert er?

Kennt sich jemand hier genauer mit dem Ticker aus der mbed-classic Library aus?
Ich habe für einen timed interrupt mit Ausführungsrate 2kHz, meine auszuführende Methode an den Ticker gebunden. Sobald dies jedoch passiert, scheint der Calliope nichts anderes mehr zu tun, was zum einen Code, der in der main steht, las auch den auszuführenden Code betrifft.

Hier der Konstruktor der Klasse, die den interrupt verwendet zusammen mit der auszuführenden Methode:

  Transmitter::Transmitter()
{
  _pin = NULL;
  _frame = NULL;
  _bitPos = 0;
  _bytePos = 0;
  _manHalf = 0;
  _busy = false;
  _state = 0;
  _active = false;
  _txTimer.attach_us(this, &Transmitter::transmitBit, 500);
}

void Transmitter::transmitBit() {
  if(_active) {
    //Preperation
    if(!_manHalf) { //only change the state when the manchester bit is completely transmitted.
      if(_busy) {
        /** if there is currently a transmission running
          * read the next bit from the frame
          */
        _state = (*(_frame + _bytePos) >> (7 - _bitPos)) & 0x01;
        _bitPos++;
        if (_bitPos >= 8) {
          _bytePos++;
          _bitPos = 0;
          if (_bytePos >= (sizeof(*_frame)/sizeof(uint8_t))) {
            _bytePos = 0;
            _busy = false;
          }
        }
      } else { //else transmit the idle pattern
        _state = 0;
      }
    }
    //Transmission
    if (!_manHalf) {
      _pin->setDigitalValue(_state);
    } else {
      _pin->setDigitalValue(!_state);
    }
    _manHalf = !_manHalf;
  } else {
    _pin->setDigitalValue(1);
  }
}

Und hier meine main:

int main() {
  uBit.init();
  uBit.display.scroll("2");
  uBit.io.P0.setDigitalValue(0);

  transmitter.setPin(uBit.io.P0);
  transmitter.start();

  uBit.messageBus.listen(MICROBIT_ID_BUTTON_A, MICROBIT_BUTTON_EVT_CLICK, onButtonA);

  uBit.sleep(5000);
  transmitter.stop();

  while(1)  uBit.sleep(100);
}

Bereits der scroll Befehl wird hier schon nicht mehr ausgeführt und sowohl transmitter.start() als auch transmitter.stop() scheinen keine Auswirkung zu haben.

Wo kommt denn der _txTimer her? Ist das eventuell ein timer, der schon vom System benutzt wird?

Der Fehler hierbei lag nicht an der Ticker API von mbed, sondern in meiner transmitBit() Methode selbst.
Dennoch danke für die Hilfe.