Hallo!

Ich habe ein RN-Minicontrol Board (mit Atmega16 und ein RN-Speak, das über I2C mit dem Controller verbunden ist. Am Controllerboard hängt auch ein Ultraschallsensor. Ab einer bestimmten Entfernung werden die Abstandswerte als Sprachnachrichten über das RNSpeak ausgegeben. Programmiert ist das ganze unter BASCOM.

Das hat bisher super funktioniert.

Jetzt möchte ich, dass die Messung und Ausgabe nur dann durchgeführt wird, wenn ich einen Taster betätige, der an JP1 angeschlossen ist. Und ab jetzt funktioniert gar nichts mehr. Prinzipiell ist mein Programm folgendermaßen aufgebaut:
.
.
.
config pind.2=input
config int0=rising
enable interrupts
enable int0
on int0 ausgabe
portd.2=0

do
NOP
loop
end

Ausgabe:

...
return


meinen drucktaster habe ich zwischen 5V und Signalpin an JP1 geschalten. der interrupt wird scheinbar total willkürlich ausgelöst auch wenn ich den taster nicht drücke und wenn ich den taster drücke wird er auch manchmal nicht ausgelöst. manchmal gibt rn-speak auch einfach die letzte message aus, was so im programm gar nicht auftaucht. außerdem wird das Programm zwischendurch einfach hin und wieder neu gestartet. Einen Kurzschluss habe ich aber sicher nirgendwo.
Ich bin mir nicht sicher ob es sich um ein Hardware- oder Softwareproblem handelt. Kann es am Taster liegen? Oder an den Kabeln? Oder muss ich für den externen Interrupt noch zusätzliche Einstellungen machen? In der Bascom Hilfe habe ich gelesen dass ich beim atmega168 das r23 sichern muss??


Hilfe!! Ich bin wirklich verzweifelt. Hat jemad eine Idee?