Okay - also die einfachere Variante mit nur einem Kanal. Die ganz blöden Fragen gleich mal vorneweg (sorry, aber daran liegt´s sooo oft):
- Die Masse des RX ist auch mit der Board-Masse verbunden?
- Der Controller läuft auch wirklich auf 16 MHz?
Wenn ja, wäre hier mal ein Code-Vorschlag für einen Kanal an INT0:
Müsste eigentlich klappen...Code:$regfile=m32def.dat $Crystal=16000000 (Config LCD.........) Config Timer2=Timer, Prescale=256 Start Timer2 Config INT0=Change On INT0 Flanke Enable INT0 Enable Interrupts Dim Start1 as Byte Dim Stop1 as Byte Dim Impuls as Byte Fim Flag as Bit Do If Flag = 1 then Flag = 0 Impuls = Stop1 - Start1 Locate 1,1 LCD Impuls; " " (die Leerzeichen, weil Impuls 2- oder 3stellig sein kann) End if Loop Flanke: If PIND.2=1 then Start1 = Timer2 Else Stop1 = Timer2 Flag = 1 End if Return
EDIT: Bei Start und Stop als Variablen meckert Bascom natürlich - sorry, da habe ich gepennt. Nenn´ sie Start1 und Stop1 (oder Max und Moritz, wie immer Du willst...)







Zitieren

Lesezeichen