MelMan
29.05.2008, 10:51
Hi @ all
Habe grad ein kleines Programm entworfen aber leider nicht die Möglichkeit, es am µC zu testen. Jetzt wollte ich fragen ob einer mal eben drüber schauen kann ob das Programm so funktioniert. Also die Funktion ist folgende: Ich Habe an einem MEGA8 eine Port als Input und einen als Output beschaltet. An den Output kommt eine LED. Nun möchte ich dass wenn an dem Input-Port ein "high" Pegel liegt der Zähler die Zeit zählt wie lange der Pegel ansteht. Dieser Wert wird im EEPROM gespeichert. Ist der Pegel des Input-Port "low", soll der Output-Port geschaltet werden. Dabei wird der EEPROM ausgelesen und als "wait" immer zwischen Ein- u. Ausschalten gepackt. Wäre nett wenn ihr mir sagen könnt ob das so in etwa klappt wie ich mir das vorstelle=)
Code:
$regfile = "m8def.dat"
$hwstack = xx
$framesize = xx
$swstack = xx
$crystal = 16000000
$baud = 9600
Dim a As Integer
Config Timer1 = Timer, Prescale = 64
Timer1 = Disable
On Timer1 Isr_von_Timer1
Enable Interrupts
Config PORTC.2 = Output
Config PINC.3 = Input
PORTC.3 = 1
Do
Readeeprom a
If PINC.3 = 1 Then
Timer1 = Enable
Else
Timer1 = Disable
PORTC.2 = 1
Wait a
PORTC.2 = 0
Wait a
End If
Loop
End
Isr_von_Timer1
a = a + 1
Writeeeprom a
Return
Mfg
Habe grad ein kleines Programm entworfen aber leider nicht die Möglichkeit, es am µC zu testen. Jetzt wollte ich fragen ob einer mal eben drüber schauen kann ob das Programm so funktioniert. Also die Funktion ist folgende: Ich Habe an einem MEGA8 eine Port als Input und einen als Output beschaltet. An den Output kommt eine LED. Nun möchte ich dass wenn an dem Input-Port ein "high" Pegel liegt der Zähler die Zeit zählt wie lange der Pegel ansteht. Dieser Wert wird im EEPROM gespeichert. Ist der Pegel des Input-Port "low", soll der Output-Port geschaltet werden. Dabei wird der EEPROM ausgelesen und als "wait" immer zwischen Ein- u. Ausschalten gepackt. Wäre nett wenn ihr mir sagen könnt ob das so in etwa klappt wie ich mir das vorstelle=)
Code:
$regfile = "m8def.dat"
$hwstack = xx
$framesize = xx
$swstack = xx
$crystal = 16000000
$baud = 9600
Dim a As Integer
Config Timer1 = Timer, Prescale = 64
Timer1 = Disable
On Timer1 Isr_von_Timer1
Enable Interrupts
Config PORTC.2 = Output
Config PINC.3 = Input
PORTC.3 = 1
Do
Readeeprom a
If PINC.3 = 1 Then
Timer1 = Enable
Else
Timer1 = Disable
PORTC.2 = 1
Wait a
PORTC.2 = 0
Wait a
End If
Loop
End
Isr_von_Timer1
a = a + 1
Writeeeprom a
Return
Mfg