Hi,
also ich hab heute mein Board von Pollin bekommen und erstmal die testdatei von denen aufgespielt. Funktioniert soweit auch alles super:
Testdatei von Pollin:
Um Nun erstmal aufm Board zu testen ob die Zeitsteuerung funktioniert, habe ich sie auf die internen Boardelemente umgeschrieben:Code:'--------------------------------------------------------------------------' ' Testtool.bas ' ' 2006 ,Pollin Electronic ' ' Freeware ' '--------------------------------------------------------------------------' ' ' 'Pollin Electronic Atmel-Evaluation-Board ' 'Bestellnummer: 810022 ' 'Testprogramm für ATmega16 ' 'Der gesendete Text kann mit dem Hyperterminal von Windows angezeigt werden' ' 'Einstellungen am Hyperterminal: ' ' Bits pro sekunde: 9600 ' ' Datenbits : 8 ' ' Parität : keine ' ' Stoppbits : 1 ' ' Flusssteuerung : keine ' ' ' '--------------------------------------------------------------------------' $regfile = "m16def.dat" 'definieren des verwendeten Chips $crystal = 8000000 '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" Gosub Textausgabe '...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ü Textausgabe: 'Untermenü "Textausgabe" Print "Atmel-Evaluation-Board" 'Sende den Text in den Anführungszeichen über RS232 zum PC Return 'zurück zum Hauptmenü
Leider passiert wenn ich den Taster aufm Board drücke nichts.Code:$regfile = "m16def.dat" 'definieren des verwendeten Chips $crystal = 8000000 '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) Main1: A = 0 'variable der zeit auf null 'Hauptprogramm Do 'Anfang der Schleife If Pind.2 = 1 Then 'Wenn an Pin 2 von Port D ein high level anliegt, dann... Main2: Do ' start der schleife Wait 1 ' wartezeit eine sekunde A = A + 1 'variable un eins erhöhen If A = 5 Then ' bei 1 minute Portd.5 = 1 'port einschalten End If If A = 10 Then Portd.1 = 0 'nach einer sekunde wieder ausschalten End If Loop Until A > 20 'zeit abgelaufen schleife verlassen '***** Zeit abgelaufen ************************* Goto Main1 'rücksprung zum start End 'end programm
Han ich was falsch gemacht ? Eigentlich sollte auf em Board nach drücken des Tasters eine Led nach 5 Sek angehen. Die verwendeten Ports vom Pollin Board stehen im oberen Code.
Könnt ihr mir helfen ?







Zitieren
Lesezeichen