Hallsensor zur Positionsbestimmung eines BLDC

Sehe ich das richtig, daß Du den dreiphasigen BLDC als zweiphasigen Schrittmotor ansteuern möchtest? Das funktioniert zumindest dort nicht gut, wo die dritte Spule die Weiterbewegung übernehmen müßte. Zumindest konnte ich im Code keine 3 Signale für den BLDC finden.

Das Link führt leider ins Leere, deshalb kann ich zu der Schaltung nichts sagen.

Im Code verwendest Du "volatile" nicht richtig. Im ISR ist HALL2 nicht volatile. Bei counter ist das richtig, der wird ja asynchron vom ISR geändert, nur sollte diese Variable dann mit abgeschalteten Interrupts gelesen werden. Der Rest ist mir ziemlich unverständlich, paßt zu keinem mir bekannten Motortyp.