Big Endian w atmega32


Witam
Znacie jakis sposob na konwersje z Little Endian na Big Endian?
Rozumiem ze atmega32 wysyla dane w formacie Little Endian, a potrzebuje w Big.




Portret użytkownika wchpikus

to forum umiera

to forum umiera chyba...
sobie poradzilem, ale przesiadka na c jest niezbedna..

Little_big:
Bajt_out.0 = Bajt_in.7
Bajt_out.1 = Bajt_in.6
Bajt_out.2 = Bajt_in.5
Bajt_out.3 = Bajt_in.4
Bajt_out.4 = Bajt_in.3
Bajt_out.5 = Bajt_in.4
Bajt_out.6 = Bajt_in.1
Bajt_out.7 = Bajt_in.0
Return

Portret użytkownika EDC

Big endian

Nie marudź :) Jeśli chciałeś tylko odwrócić bity w bajcie lustrzanie wystarczyłoby tak:

Xy = &HA4 
 
For I = 0 To 7 
  J = 7 - I 
  Ba.i = Xy.j 
Next 
(zaczerpnięte z forum mcs)

..ale chyba nie o to w tym chodzi. Kolejność bajtów w wielobajtowych zmiennych raczej. Wieloma rzeczami po konfiguracji UART chyba zajmuje sie sam. Co do rozbicia Word na Bajty i wysłanie w innej kolejności to już chyba proste. Mi to nigdy nie było potrzebne więc sie nie udzielam.
Program jest dobry na tyle na ile dobry jest jego programista.

-

BARTek
Moja strona