Hi,

also hier ein kleines Beispiel wie es funktioniert.
Es ist zwar unter Proton+ geschrieben, kann aber umgeschrieben werden.
Das Problem mit 900 und 1800 hatte ich auch schon mal ich weiß nur nicht mehr genau was da war.

Code:
HBSTART										' Busstart 
	HBUSOUT $C0									' Adresse vom Kompass
	HBUSOUT 0 									' erst high Byte
	HBUSOUT 0									' dann low Byte
	HBRESTART 									' Bus neustart 
	HBUSOUT $C1  								' mit read/write bit 0xC1
	CMPS_Byte = HBUSIN							' lese Register 1 // Wert 0 --> 255
	HBUSACK										' erneuter ACK
	CMPS_WORD  = HBUSIN							' lese Register 2,3 // Wert 0 --> 3599
	CMPS_NAVI  = CMPS_WORD / 10
	CMPS_TX  = CMPS_WORD / 10					' Wert kürzen auf volle Grad ( 0 --> 360 )
	HBSTOP 										' Busstop
Ich glaube das war weil ich das flasche Register gelsen habe.... sicher bin ich mir aber nicht mehr.

Vieleicht hilft dier der Code um das Problem zu lösen.

Bye Ulli