Hallo, Ich habe hier ein Datenblatt von dem PICKIT2
http://ww1.microchip.com/downloads/en/DeviceDoc/51553B.pdf
und hier eines von meinem PIC
http://ww1.microchip.com/downloads/en/devicedoc/39632d.pdf
Ich werde einfach nicht schlau, an welche Pins ich mein PICKIT
anschließen muss. Könnt Ihr mir helfen ?
lg Tim
Steht alles auf der besten PIC Seite die ich kenne (leider nur
Assembler) aber für den Einstieg genial:
http://www.sprut.de/electronic/pic/icsp/icsp.htm#1
So, habe nun alles so angeshclossen wie es soll ;) DANKE dir.
Nun würde ich gerne die Vorgehensweise haben, wie ich in MPLAB verfahren
soll. Habe hierzu leider nichts bei SPURT gefunden. Undzwar habe ich
mein PK2 angeschlossen, dann mein Projekt geöffnet, welches ich nach
pic-projekte.de erstellt habe.
http://pic-projekte.de/index.php/pic-c-tutorial.html
Dann habe ich auf Build All gedrückt, und nun kommt folgenden:
http://img521.imageshack.us/i/mplab.png/
lg Tim
Und wo muss ich eigentlich eingeben, welche Frequenz mein Quarz hat ?
Sorry, ich war zu spät zum Bearbeiten:
Hier mein Code: 1 | #pragma config FOSC = XT
| 2 | #pragma config PWRT = ON
| 3 | #pragma config BOR = OFF
| 4 | #pragma config WDT = OFF
| 5 | #pragma config LVP = OFF
| 6 | #pragma config PBADEN = OFF
| 7 | #pragma config VREGEn = OFF
| 8 | #pragma config MCLRE = ON
| 9 |
| 10 | #include <p18f4550.h>
| 11 |
| 12 | TRIS = 0;
| 13 |
| 14 | void main(void)
| 15 | {
| 16 | Led_an()
| 17 | }
| 18 |
| 19 | void Led_an(void)
| 20 | {
| 21 | LATDbits.LATD0 = 1;
| 22 | }
|
Und hier nochmal die Fehlermeldung unabgeschnitten ;)
C:\Dokumente und Einstellungen\Tim-Programming\Eigene
Dateien\MPLAB\C\main.c:1:Error [1225] configuration value 'XT' not
recognized for configuration setting 'FOSC'
C:\Dokumente und Einstellungen\Tim-Programming\Eigene
Dateien\MPLAB\C\main.c:7:Error [1224] configuration setting 'VREGEn' not
recognized C:\Dokumente und Einstellungen\Tim-Programming\Eigene
Dateien\MPLAB\C\main.c:12:Error: syntax error
lg Tim
PS: Das REGEn <- weis ich habe ich das N klein geschrieben ;)
Hi,
Hinter
noch ein ";"
Hier
fehlt die Angabe welches Tris(A,B,..)
Und deine Funktion "LED_an" muss vor main einmal angemeldet werden! Und
ganz wichtig, du musst erstmal zu Beginn alle Pins auf Digital
umschalten und ggf. Komparatoreingänge deaktivieren:
1 | ADCON1=0x0F; // Alle Port Pins auf digital gesetzt
| 2 | CMCON=0x07; // Komparatoreinänge deaktivieren
|
Wegen der Fehlermeldungen schau mal folgendes in MPLAB nach:
Wähle den Reiter "Configure" und dann den Menüpunkt "Configuration
Bits.." dann versichere dich, dass der Hacken (oben) gesetzt ist. Wenn
das der Fall ist und der Fehler immer noch auftritt kannst du nochmal
versuchen den C18 auf den neusten Stand zu bringen, dass soll wohl auch
schon mal zu solchen Problemen geführt haben =)
Viel Erfolg!
DANKE !!!
Werde das oben gleich nochmal mit deiner super Verbesserung versuchen.
Wenn ich mein PICKIT in MPLAB einbinde, kommt folgender Hinweis:
PKWarn0003: Unexpected device ID: Please verify that a PIC18F4550 is
correctly installed in the application. (Expected ID = 0x1200, ID Read
= 0x0)
kannst du mir sagen, was der bedeutet, und ob ich den ignorieren kann ?
lg Tim
PS: Kann es sein, das das Fenster wo ich den Code drinnen habe garnicht
die C Umgebung ist ? Weil ich keine Zeilenangaben habe... ?
http://img841.imageshack.us/f/unbenanntfcc.png/
Habe meinen Code nun wie Folgt abgeändert:
1 | #pragma config FOSC = XT //Oscilator Art
| 2 | #pragma config PWRT = ON //Power Überwachung AN
| 3 | #pragma config BOR = OFF
| 4 | #pragma config WDT = OFF // Watch Dog AUS
| 5 | #pragma config LVP = OFF
| 6 | #pragma config PBADEN = OFF
| 7 | #pragma config VREGEN = OFF
| 8 | #pragma config MCLRE = ON // Master Reset AN
| 9 |
| 10 | #include <p18f4550.h> // Pic .h eigebunden
| 11 |
| 12 | TRISD = 0; // Port D ist nun ein Ausgang
| 13 | ADCON1=0x0F; // Alle Port Pins auf digital gesetzt
| 14 | CMCON=0x07; // Komparatoreinänge deaktivieren
| 15 |
| 16 |
| 17 | void Led_an(void) // Funktion LED_AN erstellt
| 18 | {
| 19 | LATDbits.LATD0 = 1; // Schiebt das Bit0 an PortD auf +5V
| 20 | }
| 21 |
| 22 | void main(void) // Haupt Routine
| 23 | {
| 24 | Led_an(); // Funktion wird aufgerufen
| 25 | }
|
Und nun habe ich noch folgende Errors: Was mich wundert ist, das ich
niergendwo die Angabe über die Frequenz meines Quarzes angeben muss.
C:\Dokumente und Einstellungen\Tim-Programming\Eigene
Dateien\MPLAB\C\main.c:1:Error [1225] configuration value 'XT' not
recognized for configuration setting 'FOSC'
C:\Dokumente und Einstellungen\Tim-Programming\Eigene
Dateien\MPLAB\C\main.c:12:Error: syntax error
Hi, das Editor-Fenster ist schon richtig so.
Wegen der Fehlermeldung mit dem PicKit2 bin ich mir nicht sicher habe
noch nie damit gearbeitet aber überprüfe mal ob du wirklich den 4550
ausgewählt hast:
>> Reiter Configure --> Select Device
Ansonsten versuch mal die Schritte hab ich gerade gefunden:
1) disconnect the pk2 from your target and from USB.
2) reconnect pk2 to PC USB
3) select programmer->connect in MPLAB (it will tell you to make sure
the correct device is connected)
4) reconnect pk2 to your target
5) select programmer->connect
Oh Gott, dass ich das nicht vorher gesehen habe ^^:
Du musst eine Endlosschleife in dein Programm einbauen =) Also in dein
main muss nochmal eine while(1) Schleife hinein ansonsten resetet der
PIC andauernd:
1 | void main(void) // Haupt Routine
| 2 | {
| 3 | Led_an(); // Funktion wird aufgerufen
| 4 |
| 5 | while(1)
| 6 | {
| 7 | }
| 8 | }
|
Edit: Die Angabe der Quarzfrequenz machst Du ja mittels 'XT', dass
heisst deine Frequenz liegt zwischen 100 kHz - 4 MHz
Also, diese Fehlermeldung für den PIC ist dann, wenn ich mein PK2 nicht
in meiner Schaltung angeschlossen habe, und MPLAB öffne. Wenn ich das
angeschlossen habe, und dann MPLAB und mein Projekt starte, dann geht es
ohne eine Fehler meldung ;) Das war schonmal Nummer 1.
So, dias ich die Fehlermeldung mit XT habe, weis ich nicht was dass
soll, ich kann doch bei FOSC XT angeben, denn ich habe ein Normales 8
Mhz Quarz an meinem PIC hängen.
Und leider sagt mir eine Syntax Meldung garnichts.
lg Tim
PS: Ich finde es super das du mir soweiter hilfst.
So, nun habe ich erst deinen Edit gesehen ;)
Oh mann ;)
Ok, werde das gleich machen. Wie heist das dann bei 8 Mhz ? HS
lg Tim
Hi, kein Problem =)
Also mit einem 8 Mhz Quarz musst du die Oszillator Einstellung auf 'HS'
umstellen, dann weiß der PIC, dass du mit 4 - 20 Mhz arbeitest, denn
'XT' geht nur bis max. 4 Mhz.
Sorry wenn ich das Fragen muss aber hast du auch die entsprechenden
Lastkondensatoren an dem Quarz dran?
Gruß Nico
Jo, habe gegen Masse 22pF angehängt ;)
Bin auszubildender für Geräte und Systeme im 2 Jahr, und bin schon an
Elektrotechnik seit 10 Jahren begeistert. Und freue mich, das ich solch
eine tolle Hilfe beim PIC - Programmen bekomme.
PS: PIC´s kommen in der Ausbildung fast garnicht vor ;)
lg Tim
So, mein Prog sieht nun so aus:
1 | #pragma config FOSC = HS //Oscilator Art zwischen 4MHz - 20MHz
| 2 | #pragma config PWRT = ON //Power Überwachung AN
| 3 | #pragma config BOR = OFF
| 4 | #pragma config WDT = OFF // Watch Dog AUS
| 5 | #pragma config LVP = OFF
| 6 | #pragma config PBADEN = OFF
| 7 | #pragma config VREGEN = OFF
| 8 | #pragma config MCLRE = ON // Master Reset AN
| 9 |
| 10 | #include <p18f4550.h> // Pic .h eigebunden
| 11 |
| 12 | TRISD = 0; // Port D ist nun ein Ausgang
| 13 | ADCON1=0x0F; // Alle Port Pins auf digital gesetzt
| 14 | CMCON=0x07; // Komparatoreinänge deaktivieren
| 15 |
| 16 |
| 17 | void Led_an(void) // Funktion LED_AN erstellt
| 18 | {
| 19 | LATDbits.LATD0 = 1; // Schiebt das Bit0 an PortD auf +5V
| 20 | }
| 21 |
| 22 | void main(void) // Haupt Routine
| 23 | {
| 24 | Led_an(); // Funktion wird aufgerufen
| 25 | while(1)
| 26 | {
| 27 | }
| 28 | }
|
Nun habe ich nurnoch meinen Syntax error ;)
Achso, na klar: Dieses hier:
1 | TRISD = 0; // Port D ist nun ein Ausgang
| 2 | ADCON1=0x0F; // Alle Port Pins auf digital gesetzt
| 3 | CMCON=0x07; // Komparatoreinänge deaktivieren
|
..muss noch in Main hinein! Denn sonst wird das ja gar nicht
abgearbeitet.
Also so müsste es funktionieren:
1 | #include <p18f4550.h> // Pic .h eigebunden
| 2 |
| 3 | #pragma config FOSC = HS //Oscilator Art zwischen 4MHz - 20MHz
| 4 | #pragma config PWRT = ON //Power Überwachung AN
| 5 | #pragma config BOR = OFF
| 6 | #pragma config WDT = OFF // Watch Dog AUS
| 7 | #pragma config LVP = OFF
| 8 | #pragma config PBADEN = OFF
| 9 | #pragma config VREGEN = OFF
| 10 | #pragma config MCLRE = ON // Master Reset AN
| 11 |
| 12 | #pragma code
| 13 |
| 14 | void Led_an(void) // Funktion LED_AN erstellt
| 15 | {
| 16 | LATDbits.LATD0 = 1; // Schiebt das Bit0 an PortD auf +5V
| 17 | }
| 18 |
| 19 | void main(void) // Haupt Routine
| 20 | {
| 21 | TRISD = 0; // Port D ist nun ein Ausgang
| 22 | ADCON1=0x0F; // Alle Port Pins auf digital gesetzt
| 23 | CMCON=0x07; // Komparatoreinänge deaktivieren
| 24 |
| 25 | Led_an(); // Funktion wird aufgerufen
| 26 | while(1)
| 27 | {
| 28 | }
| 29 | }
|
Ich habe das einbinden der pic.h mal ganz an den Anfang des Programmes
gesetzt ist übersichtlicher m.M.n. Und da dein Programm in den
Programmspeicher soll schreibst du vor dem eigentlichen Programmcode
(also das was der PIC machen soll) noch ' #pragma code '
Jetzt sollte es klappen.
PS: Habe auch EGS gelernt ;)
Hier ein Auszug aus meinem Schaltplan.
Könnte das Syntax ein Hardware Fehler sein ?
lg Tim
PS: Sorry habe deine Antwort nciht gesehen. Ich werde das erst vesuchen
;)
Nein. Der Syntaxfehler heißt nichts weiter als, dass in der Software was
verkehrt gemacht wurde (z.B. es wurde ein ; vergessen o.ä.)+
Edit: Siehe zwei Beiträge weiter oben =)
Ok, danke dir.
So, mit deinem Code, bekomme ich keinen Syntax Fehler mehr. Nun kommt
folgendes:
Clean: Deleting intermediary and output files.
Clean: Done.
Executing: "C:\MCC18\bin\mcc18.exe" -p=18F4550 "main.c" -fo="main.o"
-D__DEBUG -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Executing: "C:\MCC18\bin\mplink.exe" /l"C:\MCC18\lib"
"..\..\..\..\..\MCC18\bin\LKR\18f4550_g.lkr" "main.o" /u_CRUNTIME
/u_DEBUG /z__MPLAB_BUILD=1 /z__MPLAB_DEBUG=1 /o"C1.cof" /M"C1.map" /W
MPLINK 4.37, Linker
Copyright (c) 1998-2010 Microchip Technology Inc.
Errors : 0
MP2HEX 4.37, COFF to HEX File Converter
Copyright (c) 1998-2010 Microchip Technology Inc.
Errors : 0
Loaded C:\Dokumente und Einstellungen\Tim-Programming\Eigene
Dateien\MPLAB\C\C1.cof.
----------------------------------------------------------------------
Debug build of project `C:\Dokumente und
Einstellungen\Tim-Programming\Eigene Dateien\MPLAB\C\C1.mcp' succeeded.
Language tool versions: mpasmwin.exe v5.37, mplink.exe v4.37, mcc18.exe
v3.36, mplib.exe v4.37
Preprocessor symbol `__DEBUG' is defined.
Sat Nov 20 11:18:44 2010
----------------------------------------------------------------------
BUILD SUCCEEDED
Also ist es ja nun gut ;)
Nun noch eine Frage zum Praktischen, sollte das Programm gleich
gestartet werden wenn, BUILD SUCCEEDED kommt ? Oder erst wenn ich das
PK" abschließe und meine Normale Spannugsversorgung über mein
Labornetzteil zuführe.
Leider leuchtet meine LED in beiden Fällen nicht. Ich habe diese an
PortD an den Pin 0 mit der Anode und einem 470 Ohm Vorwideschtand
angehängt.
lg Tim
Weder noch. Durch das "Build All" hast du nun aus dem Programmcode eine
.HEX Datei erzeugt, welche aus 1en und 0en besteht (dies und nur das
kann der PIC). So die HEX Datei muss nun in den PIC geschrieben werden.
Dazu wählst du unter Programmer dein PicKit aus. Dann kriegt man neue
Buttons in der Taskleiste. Dann musst du den Button "Programm the target
Device" anklicken, dann wird das Programm in den PIC geschrieben. Wenn
du dann das PicKit2 von deiner Schaltung trennst müsste es klappen =)
Edit: Mh also die LED liegt über einen Vorwiderstand direkt am Pin. Bei
470 Ohm fließen dann ca. 10mA. Kann sein, dass die LED bei 10mA noch
nicht leuchtet kommt auf den Typ an. Ich schalte LEDs immer über einen
Transistor (schau mal auf www.PIC-Projekte.de im Tutorial --> LEDs an
PIC)
Gruß Nico
Jo, nun klappt es. Ich habe extra diesen Vorwiderstand wegen dem
kleinerem Strom gewählt. Doch, die LED leuchtet nun ;)
So, ist alles perfekt !
Habe ich die Möglichkeit in C eine Verzögerung in ms einzustellen ? Also
z.B Delay_ms(1000) ?
Habe leider auf Spurts und pic-projekte nichts gefunden.
Und könnte ich dem PortD einen Wert wie 0x05 zuweisen, sodas bestimmte
ausgänge gesetzt werden, und ich nicht jedem Pin einen Wert zuweisen
muss ?
lg
Ja gibt es. Hat der C18 im Gepäck.
Dafür musst du zuerst die Libary in dein Projekt einbinden:
Bei den Ordnern: Header Files (in MPLAB links)
Hier musst du einen Rechtsklick und auf Add Files klicken, dann suchst
du im C18 Ordner (wahrscheinlich C://Programme/Microchip.. hier iwo
MCC18
Dann den Ordner 'H' hie drin die Datei delays.h suchen und einbinden.
Jetzt kannst du die Funktionen im Programm nutzen. Beispiele:
(In die Klammern dann jeweils eine Zahl von 0-255)
1 | void Delay10TCYx();
| 2 |
| 3 | void Delay100TCYx();
| 4 |
| 5 | void Delay1KTCYx();
| 6 |
| 7 | void Delay10KTCYx();
|
Die Funktionen kannst Du dir auch in der delays.h ansehen.
...Klar 0x05 wäre dann 000001001 also PD0 und PD3 auf High, musst aber
auch parallel im Datenblatt gucken ob die einzelnen Pins auch als
Ausgang verwendet werden können =)
Ok, habe mir die delays.h durchgelesen.
Nun weis ich, das der wert 0 die meiste Zeit, und der Wert 255 die
kürzeste verzögerung ist. Ich habe auch versucht, ob ich zum Beispiel
mit LATD = 0x01; den Pin 0 auf high legen kann. Ja, das klappt ;)
Nun wollte ich ein einfaches blinken mit folgendem Coder aufstellen:
1 | #include <p18f4550.h> // Pic .h eigebunden
| 2 | #include <delays.h>
| 3 |
| 4 | #pragma config FOSC = HS //Oscilator Art zwischen 4MHz - 20MHz
| 5 | #pragma config PWRT = ON //Power Überwachung AN
| 6 | #pragma config BOR = OFF
| 7 | #pragma config WDT = OFF // Watch Dog AUS
| 8 | #pragma config LVP = OFF
| 9 | #pragma config PBADEN = OFF
| 10 | #pragma config VREGEN = OFF
| 11 | #pragma config MCLRE = ON // Master Reset AN
| 12 |
| 13 | #pragma code
| 14 |
| 15 |
| 16 | void main(void) // Haupt Routine
| 17 | {
| 18 | TRISD = 0; // Port D ist nun ein Ausgang
| 19 | ADCON1=0x0F; // Alle Port Pins auf digital gesetzt
| 20 | CMCON=0x07; // Komparatoreinänge deaktivieren
| 21 |
| 22 | while(1)
| 23 | {
| 24 | LATD = 0x01;
| 25 | void Delay100TCYx(200);
| 26 | LATD = 0x00;
| 27 | void Delay100TCYx(200);
| 28 | }
| 29 | }
|
Doch leider bekomme ich einen Syntax. Ich habe es nurmal mal der
Delay-Funktion versucht, doch leider mag er die garnicht. Ich habe oben
die library eingebunden und auch in meinen Header-Files diese delays.h
dazugefügt.
Habe ich einen Denkfehler, oder kann ich das nicht in die Endlosschleife
meiner Hauptroutine schreiben ?
Mach nochmal die beiden "void" vor den Aufrufen weg =) Und wenn ich mich
recht erinnere, dann ist 1 die kürzeste und 255 die längste Verzögerung
aber das kannst Du ja ausprobieren.
Edit: Nur als Hinweis PWRT ist keine Power Überwachung. Das kannst Du
auch auf htp://pic-projekte.de nachlesen --> PIC-Tutorial (7.0/1)
Danke, alles bestens ;)
LG Tim
So das freut mich, dass wir dir hier so helfen konnten.
Einige Bemerkungen noch zum Schaltplan:
- die Diode kann man sich sparen. Gleiches gilt für den Kondensator.
Manchen kommen ohne besser zu Recht andere mit. Ich habe generell gute
Erfahrungen mit folgender Schaltung gemacht (die die Option auf den
Reset-Taster hat).
Vcc
|
| |
| |
| __
GND--TASTER--+--|____|---- MCLR
Das sind beides Widerstände mit jeweils 10k. Den Taster kann man getrost
rauslassen.
- Zwischen Vss und Vcc sollte ein Kondensator 100nF so nahe wie möglich
an den Pins zu Enstörzwecken.
- Du hast den HS Oszillator gewählt. Das bedeutet, dass du aber auch zum
Betrieb eine Taktquelle brauchst (die Fehlt ja im Schaltplan). Für die
interenen Oszillatoren usw. findest du alles mögliche im Datenblatt
unter dem Punkt 2.0 OSCILLATOR CONFIGURATIONS.
Viel Erfolg weiterhin
Gruß
Lehrmann Michael schrieb:
> Den Taster kann man getrost rauslassen
Dann kann man sich auch den Rest sparen und MCLRE ausschalten somit
erhält man einen zusätzlichen Eingang =)
Danke für die weiteren Infos.
Der Schalplan sollte nur die Hardware für den ICSP-Schnittstelle
darstellen ;)
lg Tim
So, nun habe ich mit den Ausgängen etwas gespielt ;) Nun wollte ich eine
Abfrage machen:
1 | #include <p18f4550.h> // Pic .h eigebunden
| 2 | #include <delays.h>
| 3 |
| 4 | #pragma config FOSC = HS //Oscilator Art zwischen 4MHz - 20MHz
| 5 | #pragma config PWRT = ON //Power Überwachung AN
| 6 | #pragma config BOR = OFF
| 7 | #pragma config WDT = OFF // Watch Dog AUS
| 8 | #pragma config LVP = OFF
| 9 | #pragma config PBADEN = OFF
| 10 | #pragma config VREGEN = OFF
| 11 | #pragma config MCLRE = ON // Master Reset AN
| 12 |
| 13 | #pragma code
| 14 |
| 15 |
| 16 | void main(void) // Haupt Routine
| 17 | {
| 18 | TRISB = 0; // Port B ist nun ein Ausgang
| 19 | TRISA = 1; // Port A ist ein Eigang
| 20 | ADCON1=0x0F; // Alle Port Pins auf digital gesetzt
| 21 | CMCON=0x07; // Komparatoreinänge deaktivieren
| 22 |
| 23 | while(1)
| 24 | {
| 25 | If (PORTAbits.PORTA0 = 0) // Wenn RA0 auf Masse liegt, dann...
| 26 | {
| 27 | LATB = 0x10; // Led an
| 28 | }
| 29 | else
| 30 | {
| 31 | LATB = 0x00; // Led aus
| 32 | }
| 33 | }
| 34 | }
|
Doch es kommt der Syntax. Ich denke das eineKleinigkeit an meiner If
nicht stimmt. Ich habe schon auf pic-projekte.de geschaut, aber leider
auch nichts weiter gefunden.
lg Tim
Sieht gut aus =)
1. Die IF Bedingung muss klein geschrieben werden (wird dann auch blau
dargestellt)
2. "=" ist nur für Zuweisungen wenn du auf Gleichheit prüfen willst dann
"=="
3. Nicht "PORTAbits.PORTA0" sondern "PORTAbits.RA0"
So:
1 | #include <p18f4550.h> // Pic .h eigebunden
| 2 | #include <delays.h>
| 3 |
| 4 | #pragma config FOSC = HS //Oscilator Art zwischen 4MHz - 20MHz
| 5 | #pragma config PWRT = ON //Power Überwachung AN
| 6 | #pragma config BOR = OFF
| 7 | #pragma config WDT = OFF // Watch Dog AUS
| 8 | #pragma config LVP = OFF
| 9 | #pragma config PBADEN = OFF
| 10 | #pragma config VREGEN = OFF
| 11 | #pragma config MCLRE = ON // Master Reset AN
| 12 |
| 13 | #pragma code
| 14 |
| 15 |
| 16 | void main(void) // Haupt Routine
| 17 | {
| 18 | TRISB = 0; // Port B ist nun ein Ausgang
| 19 | TRISA = 1; // Port A ist ein Eigang
| 20 | ADCON1=0x0F; // Alle Port Pins auf digital gesetzt
| 21 | CMCON=0x07; // Komparatoreinänge deaktivieren
| 22 |
| 23 | while(1)
| 24 | {
| 25 | if (PORTAbits.RA0 == 0) // Wenn RA0 auf Masse liegt, dann...
| 26 | {
| 27 | LATB = 0x10; // Led an
| 28 | }
| 29 | else
| 30 | {
| 31 | LATB = 0x00; // Led aus
| 32 | }
| 33 | }
| 34 | }
|
Edit: Aber war deine LED nicht an D0 oder ist eine der anderen an B7?
Is ne andere ;)
Danke, funktioniert ;)
lg Tim
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
|