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:

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ü
Um Nun erstmal aufm Board zu testen ob die Zeitsteuerung funktioniert, habe ich sie auf die internen Boardelemente umgeschrieben:

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
Leider passiert wenn ich den Taster aufm Board drücke nichts.

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 ?