Vložit hodnotu 255, aby vypaal &HFF BASCOM + restart ATM
Moderátor: Moderátoři
Vložit hodnotu 255, aby vypaal &HFF BASCOM + restart ATM
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..
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
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
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
-
Návštěvník
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
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