Stránka 1 z 1
Vložit hodnotu 255, aby vypaal &HFF BASCOM + restart ATM
Napsal: 19 zář 2009, 13:06
od michalino
Dobrý den, prosím Vás o pomoc,
pokud mám ve zjednodušené podobě tento program:
input a
data(1) , &HFF
když vložiím hodnotu a=254, jak prosím tuto hodnotu dostat za ten prefix &H, tedy
input a vlozim 255
data(1), &H(a) zde aby se hodnota a prevedla na format &HFF a aby s
tim program mohl dal pracovat, jak to prosim mam
zapsat?
zatim zkousim takto:
Dim a As String * 8
Dim Hex As Byte
Hex = 255
a = Bin(hex)
a dostanu zapis v podobe jednicek a nul, ale jak ho dostat do podoby:
data(1), &HFF
?
Prosím o pomoc, doufam, ze je to smysluplny dotaz...
hezky vikend všem..
Napsal: 21 zář 2009, 00:26
od Jenda_KL
To jako 255(d)=FF(h) a kolik "h" je 254(d) ?
Jestli jsem to dobře pochopil, tak na převod mezi číselnými soustavami pokud to nedá hlava používám nejraši klalkulačku, tu na pc ji musíš přepnout do rozšířeného režimu, aby šlo konvertovat DEC(11),HEX(0B) nebo BIN(00001011).
Pokud je to ta widlowsová tak přepnout na "vědecká"
Jinak:
DEC - základ je 10 a je to ta co běžně používáš, tzn: 0...9
HEX - základ je 16, tzn: 0...8,9,A,B...F
BIN - základ je 2, tzn: 0,1
(HEX = DEC)
F = 15
FF = 15xzáklad +15 = 255
FE = 15xzáklad +14 = 254
1F = 1x16+15 = 31
20 = 2x16+0 = 32
Napsal: 21 zář 2009, 09:41
od popopepe
michalino píše:Dobrý den, prosím Vás o pomoc,
pokud mám ve zjednodušené podobě tento program:
input a
data(1) , &HFF
když vložiím hodnotu a=254, jak prosím tuto hodnotu dostat za ten prefix &H, tedy
input a vlozim 255
data(1), &H(a) zde aby se hodnota a prevedla na format &HFF a aby s
tim program mohl dal pracovat, jak to prosim mam
zapsat?
zatim zkousim takto:
Dim a As String * 8
Dim Hex As Byte
Hex = 255
a = Bin(hex)
a dostanu zapis v podobe jednicek a nul, ale jak ho dostat do podoby:
data(1), &HFF
?
Prosím o pomoc, doufam, ze je to smysluplny dotaz...
hezky vikend všem..
Ahoj Michalino, nějak sice nechápu, k čemu je to dobré, ale to neva..
Co zkusit manuál, language fundamentals, oddíl arrays?
Popo
Napsal: 21 zář 2009, 19:45
od michalino
Popopepe a Jendo,
děkuji za Vaše příspěvky a tímto pomoc. Prostuduju, co je tam napsané a vyzkouším. Teď prověřuju bascom, příkaz po příkazu a zkouším pokusy.
Narazil jsem na věc, že jde uložit hodnota natrvalo do paměti nebo pružně do registrů, což se může hodit a jsou tady různé linky (ten bascomácký neřešte) zkouším do všech něco zapsat a ze všech něco přečíst, teda..budu se pokoušet:
k tomuto vláknu pár kousků:
http://www.grote.net/bascom/msg20434.html
ukázka bascomu
http://avrhelp.mcselec.com/index.html
další hrátky s hex číslama:
http://www.davidswinscoe.com/electronic ... OM-AVR.pdf
zkráceně snažím se dostat více do jádra...
spíše se to nedaří, než daří...ale pustil jsem se do praxe, jelikož té teorie je hodně a jak jste psali, musím zkoušet....jsem už z toho trochu
volako zmetený....
ještě jednou děkuju, teď mám jiný divný problém,
samovolný restart atmegy při přerušení INT0 ... nevíte, jestli se takový restart atmegy od INT0 = PIND.2 dá prosím tento restart zakázat?
děkuji
Napsal: 21 zář 2009, 21:29
od Návštěvník
Nedá se to zakázat, protože tam nic takového není. Když BASCOMu rozm*dáš registry a kdoví co ještě, tak se nediv, že se ti to restartuje.
Napsal: 21 zář 2009, 21:47
od popopepe
Anonym píše:Nedá se to zakázat, protože tam nic takového není. Když BASCOMu rozm*dáš registry a kdoví co ještě, tak se nediv, že se ti to restartuje.
Má pravdu předsedo

, ten anonym.
INT0 je prostě jedno z mnoha přerušení, a pokud jsi nějak nenakopal program, není proč by se ATMEGA restartovala. Prostě jenom po INT0 odskočí na proceduru, kterou jsi při INT0 definoval. Pravděpodobně jsi povolil globálně přerušení, a pak jsi provedl INT0, a nemáš definováno, co to má udělat. Takže asi program skočí na začátek, protože poslední instrukce z INT0 je return, a proto ti to možná připadá jako restart. Zkus si nadefinovat nějakou obsluhu toho přerušení a uvidíš, zda je to tím.
Popo