luvat
16.03.2008, 13:21
Hallo zusammen,
sorry,.. ich habe Suchfunktion gequält bis zum umfallen und nichts gefunden, was mich weiterbringt :((
Ich habe da mal eine Anfänger F44rage:
Ich habe hier ein RN-Control 1.4 und programmiere mit Bascom 1.11.7.4 und bin grade ein paar Experimente zu machen um mich in die Gegebenheiten einzuarbeiten.
Ich hänge gerade bei folgendem:
Ich möchte eine Interrupt Routine bauen, welche ausgeführt wird, sobald ich einen Schalter umlegen.
Pulling in Mailloop funktioniert. Dann Wechselt der Porta.0 von 1 auf 0.
Jetzt möchte ich das ganze aber nicht über pulling sondern über eine ISR machen. Ich möchte, dass jedesmal wenn der Schalter gedrückt wird "Schalter gedrückt" mittels Print ausgeben.
Wie mache ich das?
Den Interrupt habe ich wie folgt konfiguriert:
enable interrupts
enable int0 on int0 isrint0
isrint0:
print "schalter gedrückt"
return
Soweit so gut. Einziges Thema was mir aufgefallen ist... Unter https://www.roboternetz.de/wissen/index.php/Bascom_Interrupts steht beschrieben, dass man den Interrupt per
Config Int0 = Low Level konfigurieren soll. Sobald ich dies eingebe kommt vom Compiler die Fehlermeldung: "Int0 - Int3 are always low level triggered in the MEGA [INT0]"
Heisst das also für mich, dass ich mit dem RN-Control nur LowLevel Ints abfangen kann?
Zurück zum Thema:
Was muss ich jetzt genau tun. Int0 liegt auf dem RN-Control auf PortD Pint 3. Jetzt habe ich mir gedacht, dass ich einfach den Schalter, welchen den INT auslösen soll mit daran (Also an portd.3) anschließen muss. Aber sobald ich irgendwas an portd.3 anschließe (Ein kabel, welches ins nichts führt) wird meine ISRINT0 ausgeführt.
Also meine Frage als Anfänger an euch: Was mache ich falsch? Wie muss ich es richtig machen?
Vielen Dank auf jedenfall schonmal im Vorraus :D
sorry,.. ich habe Suchfunktion gequält bis zum umfallen und nichts gefunden, was mich weiterbringt :((
Ich habe da mal eine Anfänger F44rage:
Ich habe hier ein RN-Control 1.4 und programmiere mit Bascom 1.11.7.4 und bin grade ein paar Experimente zu machen um mich in die Gegebenheiten einzuarbeiten.
Ich hänge gerade bei folgendem:
Ich möchte eine Interrupt Routine bauen, welche ausgeführt wird, sobald ich einen Schalter umlegen.
Pulling in Mailloop funktioniert. Dann Wechselt der Porta.0 von 1 auf 0.
Jetzt möchte ich das ganze aber nicht über pulling sondern über eine ISR machen. Ich möchte, dass jedesmal wenn der Schalter gedrückt wird "Schalter gedrückt" mittels Print ausgeben.
Wie mache ich das?
Den Interrupt habe ich wie folgt konfiguriert:
enable interrupts
enable int0 on int0 isrint0
isrint0:
print "schalter gedrückt"
return
Soweit so gut. Einziges Thema was mir aufgefallen ist... Unter https://www.roboternetz.de/wissen/index.php/Bascom_Interrupts steht beschrieben, dass man den Interrupt per
Config Int0 = Low Level konfigurieren soll. Sobald ich dies eingebe kommt vom Compiler die Fehlermeldung: "Int0 - Int3 are always low level triggered in the MEGA [INT0]"
Heisst das also für mich, dass ich mit dem RN-Control nur LowLevel Ints abfangen kann?
Zurück zum Thema:
Was muss ich jetzt genau tun. Int0 liegt auf dem RN-Control auf PortD Pint 3. Jetzt habe ich mir gedacht, dass ich einfach den Schalter, welchen den INT auslösen soll mit daran (Also an portd.3) anschließen muss. Aber sobald ich irgendwas an portd.3 anschließe (Ein kabel, welches ins nichts führt) wird meine ISRINT0 ausgeführt.
Also meine Frage als Anfänger an euch: Was mache ich falsch? Wie muss ich es richtig machen?
Vielen Dank auf jedenfall schonmal im Vorraus :D