Word a Byte BASCOM AVR

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
ODPOWIEDZ
muster
Użytkownik
Posty: 132
Rejestracja: 01 mar 2006, 20:46
Lokalizacja: POLSKA
Kontakt:

Word a Byte BASCOM AVR

Post autor: muster » 14 kwie 2009, 19:51

W jaki sposób przepisać pierwsze 8 bitów zmiennej typu Word do zmiennej typu Byte w Bascom AVR :?:
Dziękuje :!: :!: :!:

K_o_n_r_a_d
Użytkownik
Posty: 123
Rejestracja: 29 lip 2005, 10:21
Lokalizacja: Lublin

Post autor: K_o_n_r_a_d » 14 kwie 2009, 20:19

Pierwsze 8 bitów to rozumiesz bajt starszy czy młodszy?
Jest wiele sposobów na to. Najlepszy, najbardziej naturalny i najbardziej optymalny to użycie słówka OVERLAY przy deklaracji zmiennej - jak dokładnie działa i jak użyć poczytaj w pomocy.
Możesz również wyciągać bajty dzieląc zmienna WORD przez 256 z resztą i bez reszty itp. ale te sposoby są bardzo niewydajne w Bascomie.

muster
Użytkownik
Posty: 132
Rejestracja: 01 mar 2006, 20:46
Lokalizacja: POLSKA
Kontakt:

Post autor: muster » 14 kwie 2009, 20:29

Dziękuje.
K_o_n_r_a_d pisze:Pierwsze 8 bitów to rozumiesz bajt starszy czy młodszy?
Który jest starszy, a który młodszy :?: :grin:

K_o_n_r_a_d
Użytkownik
Posty: 123
Rejestracja: 29 lip 2005, 10:21
Lokalizacja: Lublin

Post autor: K_o_n_r_a_d » 14 kwie 2009, 20:34

Młodszy (naczej LSB lub mniej znaczący) to jak sama nazwa wskazuje ten, który w zapisie wartości jest po prawej stronie (który przechowuje najmniejsze wartości).

[ Dodano: 2009-04-14, 21:35 ]
Wartość LSB = WORD mod 256
MSB = WORD / 256

MSB - najbardziej znaczący.

muster
Użytkownik
Posty: 132
Rejestracja: 01 mar 2006, 20:46
Lokalizacja: POLSKA
Kontakt:

Post autor: muster » 16 kwie 2009, 15:06

Dziękuje.
A jak w BASCOMie pisze się zmienna.0, to jest to najmniej, czy najbardziej znaczący bit :?:

Awatar użytkownika
RcTomek
Moderator
Posty: 243
Rejestracja: 27 wrz 2007, 21:15
Lokalizacja: Głogów / Wrocław

Post autor: RcTomek » 16 kwie 2009, 15:37

Bit zerowy to bit LSB, najmniej znaczący (najmłodszy). Dla ułatwienia numer bitu można traktować jako kolejne potęgi liczby 2, wtedy widać, który 'ma więcej do gadania' :)

muster
Użytkownik
Posty: 132
Rejestracja: 01 mar 2006, 20:46
Lokalizacja: POLSKA
Kontakt:

Post autor: muster » 16 kwie 2009, 18:35

Dziękuje.

Awatar użytkownika
mariusz_edw
Użytkownik
Posty: 307
Rejestracja: 22 lip 2005, 13:02
Lokalizacja: Polanica Zdrój
Kontakt:

Re: Word a Byte BASCOM AVR

Post autor: mariusz_edw » 19 cze 2010, 14:54

muster pisze:W jaki sposób przepisać pierwsze 8 bitów zmiennej typu Word do zmiennej typu Byte w Bascom AVR :?:
Dziękuje :!: :!: :!:
zmienna_byte = low ( zmienna_word )
http://avrhelp.mcselec.com/index.html?low.htm

ODPOWIEDZ