PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : I²C Übertragung von 16 bit Variable



N8Surfer
09.12.2006, 17:39
Hi,

habe hier folgendes Problem:

ich habe eine 16bit signed variable auf meinem mc1, die ich über I²C an einen mc2 senden will.

kann ich mit der atmel standart I²C routine das ganze direkt als 16bit variable versenden, oder muss ich diese erst in 2x8bit zerlegen?

falls ich sie zerlegen muss, welche methoden gibt es?

mfg

Flo

s.o.
09.12.2006, 19:04
Zum zerlegen:

highbyte=(deinevar<<8);
lowbyte(deinevar);

Dann einfach die Standardi2croutine benutzen.

N8Surfer
09.12.2006, 19:34
hi s.o.,

erstmal danke für deine antwort, etz kann ich mir weiterhelfen.

was mir aufgefallen ist:

zumindest in der avr simulation liest er nicht high-byte von der 16bit var, sondern das low-byte.

hab´s etz so gemacht, scheint auch zu funktionieren:

bytelow = (ganz);
bytehigh = (ganz>>8);

vielen dank!


flo

N8Surfer
09.12.2006, 19:35
anstatt dem smile sollte da eigentlich ne 8 und ne klammer stehen ^^

s.o.
10.12.2006, 10:29
ja... du hast recht... ich hab das oben verdreht...