Hallo,
Mein Name ist Florian und wie Ihr sehen könnt bin ich neu hier im Forum
und auch im bereich Microcontroller.
Meine Berufliche Ausbildung ist KFZ-Technikermeister. Ich habe zwar ein
wenig ahnung von der Elektronik aber bitte habt etwas nachsicht mit mir
Gut dann fang ich mal mit meinen Problem an.
Da mich Microcontroller schon immer fasziniert haben habe ich mich entschlossen
mir eine EVA. Board von Pollin zu besorgen.(Dürften ja einige kennen)
Desweiteren habe ich mir auch das Buch von Claus Kühnel gekauft.
Da ich über die Seriell-ISP den Controller nicht programmieren konnte
(keine Verbindung?!) habe ich kurzerhand ein mk2 bestellt.
So heute ist das mk2 eingetroffen und so hab ich mich auch gleich ans Programmieren gemacht.
Etwas herumexperimentiert mit den Tastern den Piepser (der funkt aber nicht besonders) Ein Blinklicht programmiert etc.
Aber das Problem beginnt schon beim Testcode der dem Pollinboard beiliegt.
Taster1
Taster2
Led1
Led2
Wird Taste 1 gedrückt leuchtet LED 1
Wird Taste 2 gedrückt leuchtet LED 2
Wenn eine Taste nochmal gedrückt wird geht die dazugehörige LED wieder aus.
Das Problem ist wenn ich ein paar mal z.B Taste1 drücke kann es vorkommen
das LED2 leuchtet obwohl LED1 leuchten sollte.
Desweiteren kann es passieren das er auf den Tastendruck nicht reagiert. usw.
Hier der Code: (Bascom)
Wenn ich mir das Pollinboard so ansehe hat er bei den Tastern jeweils einen Kondensator und einen Widerstand.Müsste er das Entprellen dann nicht Hardwaremäßig machen? Oder muss ich im Code was ändern?
Vielen Dank schon mal für eure mühe.
mfg
Florian
Mein Name ist Florian und wie Ihr sehen könnt bin ich neu hier im Forum
und auch im bereich Microcontroller.
Meine Berufliche Ausbildung ist KFZ-Technikermeister. Ich habe zwar ein
wenig ahnung von der Elektronik aber bitte habt etwas nachsicht mit mir
Gut dann fang ich mal mit meinen Problem an.
Da mich Microcontroller schon immer fasziniert haben habe ich mich entschlossen
mir eine EVA. Board von Pollin zu besorgen.(Dürften ja einige kennen)
Desweiteren habe ich mir auch das Buch von Claus Kühnel gekauft.
Da ich über die Seriell-ISP den Controller nicht programmieren konnte
(keine Verbindung?!) habe ich kurzerhand ein mk2 bestellt.
So heute ist das mk2 eingetroffen und so hab ich mich auch gleich ans Programmieren gemacht.
Etwas herumexperimentiert mit den Tastern den Piepser (der funkt aber nicht besonders) Ein Blinklicht programmiert etc.
Aber das Problem beginnt schon beim Testcode der dem Pollinboard beiliegt.
Taster1
Taster2
Led1
Led2
Wird Taste 1 gedrückt leuchtet LED 1
Wird Taste 2 gedrückt leuchtet LED 2
Wenn eine Taste nochmal gedrückt wird geht die dazugehörige LED wieder aus.
Das Problem ist wenn ich ein paar mal z.B Taste1 drücke kann es vorkommen
das LED2 leuchtet obwohl LED1 leuchten sollte.
Desweiteren kann es passieren das er auf den Tastendruck nicht reagiert. usw.
Hier der Code: (Bascom)
Code:
$regfile = "m16def.dat" 'definieren des verwendeten Chips
$crystal = 16000000 'definieren des verwendeten externen Quarz (8MHz)
Dim A As Byte 'dimensionieren der verwendeten Variablen
Dim B As Byte
Ddrd = &B11100000 'definieren der verwendeten Ports ( 1 = ausgang; 0= eingang)
Portd = &B00000000 'definieren der einzelnen Pins an einem Port ( 0= low level; 1= high level)
Main: 'Hauptprogramm
Do 'Anfang der Schleife
If Pind.2 = 1 Then 'Wenn an Pin 2 von Port D ein high level anliegt, dann...
Toggle Portd.5 '...setze Pin 5 von Port D von high auf low oder umgekehrt
Bitwait Pind.2 , Reset 'warte bis an Pin 2 von Port D wieder ein low level anliegt
End If 'Ende der Bedingung
If Pind.3 = 1 Then 'Wenn an Pin 3 von Port D ein high level anliegt, dann...
Toggle Portd.6 '...setze Pin 6 von Port D von high auf low oder umgekehrt
Bitwait Pind.3 , Reset 'warte bis an Pin 3 von Port D wieder ein low level anliegt
End If 'Ende der Bedingung
If Pind.4 = 1 Then 'Wenn an Pin 2 von Port D ein high level anliegt, dann...
Gosub Beep '...gehe zum Untermenü "Beep" '...gehe zum Untermenü "Textausgabe"
Bitwait Pind.4 , Reset 'warte bis an Pin 4 von Port D wieder ein low level anliegt
End If 'Ende der Bendingung
Loop 'zum Anfang der Schleife
Beep: 'Untermenü "Beep"
Portd.7 = 1 'setzte den Pin 7 von Port D auf high
Waitms 500 'Warte 500 ms
Portd.7 = 0 'setzt den Pin 7 von Port D auf low
Return 'zurück zum Hauptmenü
Wenn ich mir das Pollinboard so ansehe hat er bei den Tastern jeweils einen Kondensator und einen Widerstand.Müsste er das Entprellen dann nicht Hardwaremäßig machen? Oder muss ich im Code was ändern?
Vielen Dank schon mal für eure mühe.
mfg
Florian