Fragen zur Antsteuerung der Ausgänge
|
16.06.2007, 21:39
Beitrag #1
|
|||
|
|||
Fragen zur Antsteuerung der Ausgänge
Ich habe das Microcontrollerboard Kr-Mega 32-16 und
hätte einige Fragen zur Programmierung der Ausgangsports. Ich wollte den digitalen Port 9 als Ausgang auf 5V setzten und habe die Anweisungen der Anleitung befolgt. Leider war danach nicht der , von mir gewünschte Port an, sondern Port 17-21. Ich hätte gerne gewusst welche genauen Schritte erforderlich sind um den Port auf ,,An'' zu setzen. Frederik Ebert |
|||
19.06.2007, 13:47
Beitrag #2
|
|||
|
|||
RE: Fragen zur Antsteuerung der Ausgänge
Hallo Frederik!
Wenn du die von uns mitgelieferte Bibliothek nutzt erreichst du die Aktivierung des Ports mit folgendem Befehl: setDigitalOut(9); Um den Port wieder auf 0 Volt zu setzen nutze den Befehl: clearDigitalOut(9); Sollte das immer noch nicht funktionieren, poste doch bitte mal dein Programm. Dann kann ich da vielleicht mehr sehen. Grüße Thomas |
|||
06.07.2007, 16:40
Beitrag #3
|
|||
|
|||
RE: Fragen zur Antsteuerung der Ausgänge
Hallo Thomas
die Ausgänge haben jetzt funkioniert!!! Anschließend habe ich versucht die Eingänge in Betrieb zu nehmen. In meinen Quelltext habe ich, wie schon in der Dokumentation steht, den Befehl ,, intDigital(10)'' verwendet indem ich einen If-satz geschieben habe: #include "kr-mega32v23.h" void rprintfTest(void); int main(void) { lcdInit();//Initialisierungen lcdSetSpeed(300); rprintfInit(lcdDataWrite); while(1)//Endlosschleife (Abfragen der Messwerte bei Port10) { if (intDigital(10)>0) { rprintf("Port 10 an "); } } return 0; } Leider wurde dieses Programm nicht vom Compiler angenommen. Vielleicht könntest du mir einen Beispielquelltext schicken. Frederik |
|||
06.07.2007, 21:03
Beitrag #4
|
|||
|
|||
RE: Fragen zur Antsteuerung der Ausgänge
Hallo,
in dem Programm muss irgendwo ein kleiner Fehler sein, welche Fehlermeldung bringt denn der Compiler? Das kann gut weiterhelfen! Manfred |
|||
07.07.2007, 08:28
Beitrag #5
|
|||
|
|||
RE: Fragen zur Antsteuerung der Ausgänge
Hallo,
also die Fehlermeldung, die bei meinem Quelltext auftaucht ist ,,undefined Refereences to 'intDigital' ''. Vielleicht hilft diese Information bei Vermeiden des Fehlers weiter. Frederik |
|||
09.07.2007, 07:04
Beitrag #6
|
|||
|
|||
RE: Fragen zur Antsteuerung der Ausgänge
Hallo,
hier liegt möglicherweite ein kleiner Denkfehler vor. "int digital (int port)" in der Dokumentation beschreibt den grundsätzlichen Aufbau des Abfragebefehles eines Digitalports. Im Progamm umgesetzt muss dann die entsprechende Zeile in Deinem Programm "if (digital(10)>0)" lauten. Probiers mal, viel Glück Manfred |
|||
09.07.2007, 14:24
Beitrag #7
|
|||
|
|||
RE: Fragen zur Antsteuerung der Ausgänge
Hallo Manfred,
Vielen Dank für die Anwort. Ich habe es jetzt mit der Funktion "if (digital(10)>0)" ausprobiert. Leider tritt immer noch ein Fehler auf, den der Compiler ''Implict Declaration of function 'Digital' '' nennt. Ich denke mal ,dass damit gemeint ist, dass der Compiler den Befehl mithilfe der Bibliothek nicht identifizieren kann. Vielleicht kannst du mir ja ein Programmbeispiel schicken, bei dem Ports abgefragt werden. Frederik |
|||
10.07.2007, 17:00
Beitrag #8
|
|||
|
|||
RE: Fragen zur Antsteuerung der Ausgänge
Hallo!
Deine Fehlerbeschreibung deutet darauf hin, dass die Bibliothek nicht korrekt eingebunden wird. Hier ein Beispielprogramm zum Abfragen und Anzeigen des Digitalports. Zitat://----- Include Files --------------------------------------------------------- Wichtig ist am Anfang vor allem das Einbinden der Kopfdatei mit include. Wenn du die vorbereiteten Makefiles nutzt, sollte die Bibliothek dann korrekt eingebunden werden. Ich hoffe, das hilft weiter. Grüße Thomas |
|||
11.07.2007, 11:06
Beitrag #9
|
|||
|
|||
RE: Fragen zur Antsteuerung der Ausgänge
Hallo, Frederik,
ich habe mal Dein Progrämmchen hergenommen und zum Laufen gebracht. Hier ist der C-Code: #include "kr-mega32v23.h" void rprintfTest(void); int main(void) { lcdInit();//Initialisierungen lcdSetSpeed(300); rprintfInit(lcdDataWrite); while(1)//Endlosschleife (Abfragen der Messwerte bei Port10) { lcdClear(); lcdHome(); if (digital(10)>0) { rprintf("Port 10 high "); } else rprintf("Port 10 low "); } return 0; } Auf dem Display erscheint dann ganz einfach der Zustand des Ports 10, so wie Du das wolltest! Manfred |
|||
14.07.2007, 10:15
Beitrag #10
|
|||
|
|||
RE: Fragen zur Antsteuerung der Ausgänge
Hallo,
Danke für die Tipps. Die Eingänge haben jetzt endlich funktioniert!!!! Frederik |
|||
|
Benutzer, die gerade dieses Thema anschauen: 4 Gast/Gäste