PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Variablen read/write - Debounce nur einmal deklarieren?



ReVenGer
26.08.2007, 14:30
Hi zusammen,
möchte gerne mehrere werte im eram speichern und wieder auslesen.
wie das bei einem wert geht weiß ich, nur bekomme ich bei mehreren werten nicht geregelt.

das zweite Problem, muss debounce jedesmal neu deklariert werden, oder reicht es, wenn ich das am anfang meines programmes mache?


gruß

Stromi
26.08.2007, 22:18
Array oder Data und eine Schleife ist dein Freund.
DEBOUNCE Px.y , state , label [ , SUB]
immer wenn der Pin abgefragt wird.

ReVenGer
27.08.2007, 18:06
Hab es mal mit Byte versucht, aber weder speichert er mir die Daten im Eram, noch zeigt er mir den Statusbalken vernünftig an, verstehe einfach nicht woran das liegen kann.



$regfile = "m16def.dat" ' specify the used micro
$crystal = 1000000 ' used crystal frequency
$baud = 19200 ' use baud rate
$hwstack = 32 ' default use 32 for the hardware stack
$swstack = 10 ' default use 10 for the SW stack
$framesize = 40 ' default use 40 for the frame space

Config Portd = Input

$lib "glcdKS108.lbx"
$include "font8x8.font"

Config Graphlcd = 128 * 64sed , Dataport = Porta , Controlport = Portc , Ce = 1 , Ce2 = 2 , Cd = 5 , Rd = 4 , Reset = 0 , Enable = 3
Dim Eedummy As Eram Byte
Dim Intens As Eram Byte
Dim Inten As Byte
Dim I As Integer
Dim Speed As Eram Byte
Dim Spee As Byte
Dim S As Integer


Cls
Setfont Font8x8
Lcdat 2 , 30 , "DLP 3000"
Lcdat 8 , 1 , "Start"
Lcdat 8 , 83 , "Config"
Do
Debounce Pind.0 , 0 , Intense
Loop

Intense:
Inten = Intens
I = Inten
Cls
Lcdat 2 , 35 , "Intense"
Do
Debounce Pind.0 , 0 , Inthoch , Sub
Debounce Pind.1 , 0 , Saveint
Debounce Pind.2 , 0 , Intrunter , Sub
Lcdat 8 , 10 , I
Loop


End

Inthoch:
I = I + 10
If I > 100 Then I = 100
Lcdat 5 , I , " " , 1
Return

Intrunter:
I = I - 10
If I < 10 Then I = 10
Lcdat 5 , I , " "
Return

Saveint:
Inten = I
Intens = Inten
Cls