PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : tiny13 interrupts "neues problem"



Bluesmash
20.03.2007, 19:41
hallo zusammen

ich habe wieder einmal ein problem :)

laut datenblatt hat der tiny 13 an jedem pin einen sogenanten pcint...
wie kann ich die nun in bascom nutzen? ich würde gerne pinb.3 auf einen interrupt abfragen... kann mir da jemand helfen?

gruss bluesmash

linux_80
20.03.2007, 20:00
Hallo,

im Samples-Verzeichnis gibts eine Datei:
PCINT_CHANGE.bas
da ist das aufgezeigt.

Welcher Pin den IRQ auslöst wird im Register PCMSK angegeben, da der Tiny13 nur eine Port hat, gibts auch nur ein PCMSK ohne Nummer dahinter.

Wenn mehrere Pins aktiviert wurden, muss man in der ISR selber nachschauen welcher Pin den IRQ ausgelöst haben könnte.

Bluesmash
21.03.2007, 21:41
vielen dank für den tipp!
der interrupt funktioniert, aber das programm nicht so wie ich will :(

gibt es irgendeine "kopfstand mit überschlag lösung" um einen zyklischen interrupt zu erzeugen ohne den timer zu benutzen?
ich möchte mit dem tiny13 3 soft pwm's erzeugen. den timer0 brauche ich leider um die rc5 codes der ir fernbedienung einzulesen... die pwm direkt im hauptprogramm zu erzeugen geht leider nicht wenn da noch getrc5 steht da dieser befehl viel zu lange braucht...
ich wollte den rc5 code einfach über einen externen interrupt auslesen welcher durch den ifrarotempfänger am interrupt ausgelöst wird... aber leider erzeugt das umgebungslicht zwischendurch auch interrupts und dann stockt meine pwm... :(
jemand eine idee?

gruss bluesmash

Bluesmash
23.03.2007, 17:26
*push*

keiner ne idee?
muss wohl doch einen anderen uP verwenden :(

Bluesmash
23.03.2007, 17:54
ich hatte jetzt gerade die idee dass man den watchdog timer dafür einsetzen könnte aber anscheinend ist die kürzest mögliche zeit 16ms :( und dass ist viiiiel zu lange... oder jemand eine idee?