Hi
Ich habe mir das Atmel Evalutionboard 2.0.1 von Pollin gekauft, um mich ein bisschen mit Microcontrollern vertraut zu machen.
Ich habe dann alles zusammengelötet und das Test-Programm von der Pollin Homepage in einen ATMega 16 übertragen, um festzustellen das der Microcontroller macht, was er will.
Ich habe mich dann im internet ein bisschen umgesehen und erfahren dass man im Quellcode $crystal = 16000000 setzen muss und nicht 8000000.
Danach funktionierte es immer noch nicht. Ich fand dann noch raus dass man bei den Security Bits den haken bei CKOPT entfernen muss.
Danach funktionierte es halbwegs:
Wenn man Taster 3 drückt macht der "Summer" nur einen Knacks, was aber laut meiner internetrecherce auch normal ist, da es kein Summer sondern ein Piezo-Schallwandler ist. Der Text wurde über die RS232 Schnittstelle korrekt ausgegeben.
Hier mal der Quellcode 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ü |
|
Funktioniert das Board dann jetzt zuverlässig oder muss ich noch andere sachen ändern?
lg M äht tz3 (automatisch editiert wegen spamgefahr)
[ Diese Nachricht wurde geändert von: M äht tz3 (automatisch editiert wegen spamgefahr) am 12 Nov 2011 20:46 ]
[ Diese Nachricht wurde geändert von: M@tz3 am 12 Nov 2011 20:48 ]