fiatx
29.12.2008, 23:12
Hallo habe dass Pollin Board aber die RS232 funktioniert nicht wennn ich diese Testprogramm laufen lasse
'--------------------------------------------------------------------------'
' 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 = "m8def.dat"
$crystal = 1000000 'definieren des verwendeten externen Quarz (8MHz)
Baud = 9600
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
Print "Hallo"
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ü
Kommt im Terminal nur Müll an
Habe Com2 eingestellt und 8N1 jetzt weis ich nicht ob mein Programm falsch ist oder ich im Terminal was falsches stehen habe oder was da los ist.
Als Kabel benutze ich ein Com 1:1 beschaltet dass ich zum Flashen in Pony Prog auch benutze und dass Funktioniert.
Gruß Sven
'--------------------------------------------------------------------------'
' 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 = "m8def.dat"
$crystal = 1000000 'definieren des verwendeten externen Quarz (8MHz)
Baud = 9600
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
Print "Hallo"
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ü
Kommt im Terminal nur Müll an
Habe Com2 eingestellt und 8N1 jetzt weis ich nicht ob mein Programm falsch ist oder ich im Terminal was falsches stehen habe oder was da los ist.
Als Kabel benutze ich ein Com 1:1 beschaltet dass ich zum Flashen in Pony Prog auch benutze und dass Funktioniert.
Gruß Sven