Stránka 1 z 1
Nastavení BYTE bascom a zápis čísla do registru
Napsal: 14 zář 2009, 14:19
od michalino
Dobrý den, prosím Vás o radu,
co znamená tento zápis:
Dim Neco(3) As Byte
Znamená to, že se do hodnoty Neco ukládají 3 Byte? Chápu zápis:
Dim Neco As Byte , ale necápu ten výše uvedený zápis.
A ještě Vás prosím o osvětlení:
Pokud chci do registru například: 0x1F v ATMEGA8 zapsat číslo 153, jak to mám prosím provést v bascomu?
Děkuji za případné rady
Napsal: 14 zář 2009, 15:56
od Ragnol
Sleduju tvoje příspěvky tu už delší dobu a jednu otázku... Nebylo by lepší si otevřít manuál k bascomu či si koupit knížku o programování v bascomu místo těch stálejch dotazů , který tam jsou vysvětlený ?
Myslím si, že na fóru se má řešit konkretní problém a ne učit někoho základy jenom proto, že je líný/neshopný si to najít v manuálu či v jiný literatuře.
Napsal: 14 zář 2009, 17:11
od michalino
Díky za odpověd,
podívej se na ty čísla vedle témat ve fóru, kolik lidí si prohlíží dané téma...
1)
Nepiš když nechceš
2)
Čísla jsou důkazem důležitosti těchto témat a pakliže desetině lidí pomohou, je to OK
3)
podivej se na bascom a pokud jsi to tam nasel, jako ze ja ne, pak mi prosim povez kde....ja to tam opravdu nevidel, nerikam, ze to tam neni, proste to hledam a nevidim a dostavame se nyní zpět k bodu č. 1
ještě jednou díky a prosím Vás o jakýkoliv nápomocný příspěvek, pokud to sám dříve najdu, vložím vše zde, jako vždy....protože jsme na foru, že...
Napsal: 14 zář 2009, 17:23
od michalino
Zde jsem našel něco v hledaném tvaru:
Dim A(10) As Byte'create an integer
Dim C As Integer'now fill the array
For C = 1 To 10'assign array element
A(c) = C' print it
Print A(c)
Next
C = 0
A(c + 1) = 100
Print A(c + 1)
End
Možná jsem nevysvětlil správně, o co se mi přesně jedná:
Dim A(10) As Byte
jestli podobný zápis dokáže zapsat a číst, např: 10átý byte z 10 bytů...
pokud jsme u 32x 8 bitového registru, tak pro příklad použití 4 registrů jako 4 byte, mohu použít zápis napriklad:
Dim Neco(4) As Byte
a pri cteni se odkazu na :
if neco(3)=210 then led=1 .... coz mi čte treti zapsany byte, jinak řečeno čte se číslo ze třetího registru - je to tak prosím, nebo může to tak být?
Nechci po Vas uplne reseni, prosim o nasmerovani..
Napsal: 14 zář 2009, 18:37
od Návštěvník
1) Ragnol má pravdu.
2) Kdyby sis přečetl, jaké má Bascom datové typy a co znamená příkaz Dim a jaké má možné parametry, tak se tady tak 🤐 neptáš, což jen potvrzuje bod 1.
Napsal: 14 zář 2009, 18:47
od michalino
Ano, bod 1, ale pro Tebe, pakliže vycházíme z významu příspěvku ob ten výše...nicméně, kolikrát už jsi mi dobře poradil a nemůžu zvlášť proti Tob ě nic napsat..
pokud vycházíme z Tvé rady k DIM, pak se kaju a děkuji anonyme za navedení, hledal jsem pod input, deklaracemi, proměnnými, apod...
Jsem blb a DIM jsem věřte nevěřte neviděl....
díky anonyme, prostuduju Tvou radu....což potvrzuji Tvé potvrzení bodu 1
Napsal: 14 zář 2009, 19:04
od nekmil(nepřihlášen)
Dim A(3) as Byte je stejné jako
DIM A1 as Byte
DIM A2 as Byte
DIM A3 as Byte
Napsal: 14 zář 2009, 19:13
od michalino
Děkuji Nekmile...
aha a potom když studuju programy a je tam v příkazech pro načítání dat z registrů příkaz: incr
Tak to znamená, že se postupně přechází na "vyšší" registr...
teď to dává smysl, děkuji Vám pánové, moc!!
Napsal: 14 zář 2009, 19:19
od nekmil(nepřihlášen)
"Pokud chci do registru například: 0x1F v ATMEGA8 zapsat číslo 153"
Obávám se, že takovou hodnotu do toho registru nezpíšeš.
Podívej se do "Register summary" jedná se o registr EEARH a ten umožňuje měnit jen bit 0
Napsal: 14 zář 2009, 19:29
od (nepřihlášen)
Beru zpět, &h1F je vlastně R31
!ldi r31,153
nebo
$asm
ldi r31,153
$end Asm
Napsal: 14 zář 2009, 19:41
od michalino
Děkuji moc!!!
Prozkoumám tak jak tak ty registry a pokusím se v nich číst a psát...děkuji ještě jednou moc za čas a trpělivost!!