So habe noch mal geprogselt und was anderes:
Code:
$regfile = "m8def.dat" ' atmega8
$crystal = 4000000
$baud = 19200
$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
On Urxc Onrxd 'Interrupt-Routine setzen
Enable Urxc 'Interrupt URXC einschalten
Enable Interrupts
Dim Widerstand As Long
Dim Saver As Integer
Dim Ausgang As Integer
Dim Sender As Integer
Dim W As Word
Dim I As Integer
Dim Wi As Integer
Config Adc = Single , Prescaler = Auto
Ddrd = &B00000001 'PD0 als augang und der rest als eingang
Kondensaorlader Alias Portd.0
Start Adc
' _ ___ _ _ ___
''''''''''''''''''''''''''''''''''I_ I I_I I_I I '''''''''''''''''''''''''''''''''''''''
' _I I I I I\ I
Start:
Kondensaorlader = 1 'PD0 anschalten
For Widerstand = 0 To 500000 Step 1 'for schleife in der der Widerstand gemssen werden soll
W = Getadc(0)
If W > 646 Then Goto Save 'wenn der adc wanderler rößer als 646 ist nach save weiter
Next 'Ende der For schleife
Save: 'unterrutine save
Kondensaorlader = 0 'PD0 ausschalten um Kondensator um diode zu entladen
If Saver > 8184 Then Goto Ended 'wenn der eeprom voll ist das ende
Saver = Saver + 6 'eeprom stelle zum schreiben um 6 erhöhen
Writeeeprom Widerstand , Saver 'in eeprom schreiben
Wait 300 '5 min warte
Goto Start 'wider zum anfang
' ___ _ _ _ _ ___
'''''''''''''''''''''I I\ I I I_ I_I I_I I I I_I I ''''''''''''''''''''''''''''''''''''''''''
' I I \I I I_ I\ I\ I_I I I
Onrxd: 'anfang des interupts
'
For Ausgang = 0 To 4184 Step 6 'For schleife in der der Intrrupt bearbeitet wird
Readeeprom Sender , Ausgang
Print Sender 'hier auch noch
Next 'und hier auch
Return
' _ _
'''''''''''''''''''''''''''''''''''''''I_ I\ I I\ I_ ''''''''''''''''''''''''''''''''''''''''''
' I_ I \I I/ I_
Ended: 'ende des ganzens da eeprom voll ist
Goto Ended
und hier die Hardware:
Bild hier
sorry für die schlechte Zeichnung ging auf die schnelle nicht anderes
So dazu nun meine Fragen:
Ist der eeprom danach voll oder ist er grad so am limit oder hat er noch platz?
Wie lange braucht der µC um EIN mal die For schleife von anfang bis zum ende durch zulaufen? Also der der teil:
Code:
For Widerstand = 0 To 500000 Step 1 'for schleife in der der Widerstand gemssen werden soll
W = Getadc(0)
If W > 646 Then Goto Save 'wenn der adc wanderler rößer als 646 ist nach save weiter
Next 'Ende der For schleife
so das waren schon die Fragen.
mfg
Michael
PS: Wenn ihr bessere Idee habt wie ich einen Wiederstand messen kann die werte dann abspeichern und späterüber eine Interrupt abrufen kann dann sagt es mir. DANKE
Lesezeichen