Program írás help
Hogyis? Minéltöbbet tudsz, annál kevesebbet : véve a fáradságot átbogarásztam az egész Bascom leírást és íme:
-progi rész:
$eeprom
Data "0" , "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "Q" , "W" , "E" , "R" , "T" , "Z" , "U" , "I" , "O" , "P" , "A" , "S" , "D" , "F"
Data "G" , "H" , "J" , "K" , "L" , "Y" , "X" , "C" , "V" , "B" , "N" , "M" , "," , "." , "-" , "+" , "*" , "/" , " "
Billlok:
Data 0
$data
Bl = Loadlabel(billlok)
.
.
.
.
.
B = B * 2
Ki = Bl + B
Writeeeprom K , Ki
Writeeeprom N
.
.
.
Csak azért keztem úgy a sorokat, mert ez a fránya téridő már megint körém csavarodott. EPROM elejétől tudok írni/olvasni (WRITEEEPROM/READEEPROM), EPROM címzet memória résztől tudok írni, de olvasni nem
kI ÉRTI EZT
-progi rész:
$eeprom
Data "0" , "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "Q" , "W" , "E" , "R" , "T" , "Z" , "U" , "I" , "O" , "P" , "A" , "S" , "D" , "F"
Data "G" , "H" , "J" , "K" , "L" , "Y" , "X" , "C" , "V" , "B" , "N" , "M" , "," , "." , "-" , "+" , "*" , "/" , " "
Billlok:
Data 0
$data
Bl = Loadlabel(billlok)
.
.
.
.
.
B = B * 2
Ki = Bl + B
Writeeeprom K , Ki
Writeeeprom N
.
.
.
Csak azért keztem úgy a sorokat, mert ez a fránya téridő már megint körém csavarodott. EPROM elejétől tudok írni/olvasni (WRITEEEPROM/READEEPROM), EPROM címzet memória résztől tudok írni, de olvasni nem
kI ÉRTI EZT
3 heti véres veríték gyümölcse (tápfesz hibáktól eltekinve működik )
íme a köz javára:
$regfile = "m16def.dat"
$crystal = 16000000
Config Keyboard = Pind.0 , Data = Pind.1
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Dim B As Byte
Dim K As String * 1
Dim X As Byte
Dim Ki As Word
Dim Bl As Word
Dim N As Byte
N = 0
Cursor Off Noblink
Cls
Locate 1 , 1
Lcd "Billentyu beal-"
Locate 2 , 1
Lcd "litas? (I/N)"
$eeprom
Data "0" , "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "Q" , "W" , "E" , "R" , "T" , "Z" , "U" , "I" , "O" , "P" , "A" , "S" , "D" , "F"
Data "G" , "H" , "J" , "K" , "L" , "Y" , "X" , "C" , "V" , "B" , "N" , "M" , "," , "." , "-" , "+" , "*" , "/" , " "
Billlok:
'Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
'Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
$data
Bl = Loadlabel(billlok)
Dontes:
B = Getatkbdraw()
If 67 = B Then Goto Billset
If 49 = B Then Goto Iras
Goto Dontes
Billset:
For X = 0 To 85 Step 2
Cls
Locate 1 , 1
Lcd "Nyomd le a: -t!"
Megint:
Readeeprom K , X
Locate 1 , 13
Lcd K
Waitms 100
B = Getatkbdraw()
Waitms 100
If 240 = B Then Goto Bhiba
If 102 = B Then Goto Javit
Locate 2 , 1
Lcd "Bill. kod:" ; B
B = B * 2
Ki = Bl + B
Writeeeprom K , Ki
Writeeeprom N
Waitms 500
Next X
Iras:
Do
Waitms 100
B = Getatkbdraw()
Waitms 100
If 102 <> B Then Goto Kilcd0
Goto Iras
Kilcd0:
If 90 <> B Then Goto Kilcd1
Lowerline
Goto Iras
Kilcd1:
If 118 <> B Then Goto Kilcd2
Home
Goto Iras
Kilcd2:
If 18 <> B Then Goto Kilcd
Upperline
Goto Iras
Kilcd:
B = B * 2
Ki = Bl + B
Readeeprom K , Ki
Lcd K
Loop
Javit:
Cls
Locate 1 , 1
Lcd "ujra!"
X = X - 2
Goto Megint
Bhiba:
Cls
Locate 1 , 1
Lcd "Rossz Kod!"
Waitms 1000
Goto Javit
End
íme a köz javára:
$regfile = "m16def.dat"
$crystal = 16000000
Config Keyboard = Pind.0 , Data = Pind.1
Config Lcd = 16 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
Dim B As Byte
Dim K As String * 1
Dim X As Byte
Dim Ki As Word
Dim Bl As Word
Dim N As Byte
N = 0
Cursor Off Noblink
Cls
Locate 1 , 1
Lcd "Billentyu beal-"
Locate 2 , 1
Lcd "litas? (I/N)"
$eeprom
Data "0" , "1" , "2" , "3" , "4" , "5" , "6" , "7" , "8" , "9" , "Q" , "W" , "E" , "R" , "T" , "Z" , "U" , "I" , "O" , "P" , "A" , "S" , "D" , "F"
Data "G" , "H" , "J" , "K" , "L" , "Y" , "X" , "C" , "V" , "B" , "N" , "M" , "," , "." , "-" , "+" , "*" , "/" , " "
Billlok:
'Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
'Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
$data
Bl = Loadlabel(billlok)
Dontes:
B = Getatkbdraw()
If 67 = B Then Goto Billset
If 49 = B Then Goto Iras
Goto Dontes
Billset:
For X = 0 To 85 Step 2
Cls
Locate 1 , 1
Lcd "Nyomd le a: -t!"
Megint:
Readeeprom K , X
Locate 1 , 13
Lcd K
Waitms 100
B = Getatkbdraw()
Waitms 100
If 240 = B Then Goto Bhiba
If 102 = B Then Goto Javit
Locate 2 , 1
Lcd "Bill. kod:" ; B
B = B * 2
Ki = Bl + B
Writeeeprom K , Ki
Writeeeprom N
Waitms 500
Next X
Iras:
Do
Waitms 100
B = Getatkbdraw()
Waitms 100
If 102 <> B Then Goto Kilcd0
Goto Iras
Kilcd0:
If 90 <> B Then Goto Kilcd1
Lowerline
Goto Iras
Kilcd1:
If 118 <> B Then Goto Kilcd2
Home
Goto Iras
Kilcd2:
If 18 <> B Then Goto Kilcd
Upperline
Goto Iras
Kilcd:
B = B * 2
Ki = Bl + B
Readeeprom K , Ki
Lcd K
Loop
Javit:
Cls
Locate 1 , 1
Lcd "ujra!"
X = X - 2
Goto Megint
Bhiba:
Cls
Locate 1 , 1
Lcd "Rossz Kod!"
Waitms 1000
Goto Javit
End
Sziasztok!
Nem! Nincs menekvés
Jó ez a DIM(besdombos)! Hogy tudnák több dimenziós tömböket kezelni Bascomból
Következő a cél: lennének memória cellák amik hozzálennének rendelve 1-1 bejövő érték tartományhoz (eddig 1x1). Csakhogy ezek a tartományok tovább lennének diferálva különböző lábak bejövő, analóg jelei hatására (dimenziók), így egy érték sávot több cella is jellemezne.
Zöld?
A lényeg, hogy lenne egy algoritmus ami a táblázat sorainak hiányzó celláit, a szomszédokból kiszámítaná és behelyettesítené. HÚÚÚ!
Előre is kössz az ötleteket, észrevételeket (birom ám a kritikát) csinnyán!
Nem! Nincs menekvés
Jó ez a DIM(besdombos)! Hogy tudnák több dimenziós tömböket kezelni Bascomból
Következő a cél: lennének memória cellák amik hozzálennének rendelve 1-1 bejövő érték tartományhoz (eddig 1x1). Csakhogy ezek a tartományok tovább lennének diferálva különböző lábak bejövő, analóg jelei hatására (dimenziók), így egy érték sávot több cella is jellemezne.
Zöld?
A lényeg, hogy lenne egy algoritmus ami a táblázat sorainak hiányzó celláit, a szomszédokból kiszámítaná és behelyettesítené. HÚÚÚ!
Előre is kössz az ötleteket, észrevételeket (birom ám a kritikát) csinnyán!
Hu!
Elsőre csak pislogtam, aztán rájöttem. A szitu, ha jól értem a helyi értékekkel megadható dimenzió
pl.: x(a,b,c,d)
akkor olvasásnál:
dim a as byte, dim b as byte,dim c as byte,dim d as byte, dim y as long, dim x as long
y=x
rotate y,left,24
rotate y,right,24
a=y
y=x
rotate y,left,16
rotate y,right,24
b=y
y=x
rotate y,left,8
rotate y,right,24
c=y
y=x
rotate y,right,24
d=y
Még1:
mi a külömbség a rotate és a shift kökött
Elsőre csak pislogtam, aztán rájöttem. A szitu, ha jól értem a helyi értékekkel megadható dimenzió
pl.: x(a,b,c,d)
akkor olvasásnál:
dim a as byte, dim b as byte,dim c as byte,dim d as byte, dim y as long, dim x as long
y=x
rotate y,left,24
rotate y,right,24
a=y
y=x
rotate y,left,16
rotate y,right,24
b=y
y=x
rotate y,left,8
rotate y,right,24
c=y
y=x
rotate y,right,24
d=y
Még1:
mi a külömbség a rotate és a shift kökött