Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Messung Pulsbreite 0,5 bis 1,5 msec bei 20 msec Duty cycle Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 23.03.2010 22:26)
 Als Antwort auf Messung Pulsbreite 0,5 bis 1,5 msec bei 20 msec Duty cycle von Joe - 22.03.2010 18:53
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Mini M-Unit, Open-Mini Station, sonstige
Hallo Joe,

daß BASIC auf der OM für die Auswertung zu langsam ist, kann ich fast gar nicht glauben. Hast Du schon einen Versuch mit der BASIC-Interruptroutine unternommen? Das Signal muß dafür LOW-aktiv sein. Das kannst Du erreichen, indem Du bei Bedarf einen Inverter (Transistor BC 548 o.ä.) vorschaltest.

Der IRQ-Eingang der OM-Controller liegt am gleichen Pin wie PORT[3]. Leider kann nach dem Setzen von IRQEN im CONFIG2-Register der PORT[3] nicht mehr als normaler Digitalport verwendet werden. Im folgenden Programm, das ich mangels passender Hardware nicht unter Realbedingungen testen konnte, wird dieses Problem gelöst, indem das Signal zusätzlich an PORT[4] angeschlossen werden muß.

INCLUDE "om.def"     'auf der Open-Midi: INCLUDE "omid.def"

DEFINE zaehler BYTE
DEFINE port4 PORT[4]

CONFIG2=&b01000000   'IRQEN im CONFIG2-Register des Controllers setzen
INTERRUPT basicirq   'BASIC-Interruptroutine vereinbaren

WHILE TRUE           'Hauptprogramm
  IF zaehler THEN
    PRINT zaehler
    zaehler=0
  END IF
WEND

PROCEDURE basicirq   'Interruptroutine
  WHILE port4=OFF
    ADD zaehler,1
  WEND
  RETURN INTERRUPT
END PROCEDURE

Bitte gib uns Rückmeldung, ob und wie gut es funktioniert!

Gruß
Dietmar

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

Re: Messung Pulsbreite 0,5 bis 1,5 msec bei 20 msec Duty cycle (von Joe - 24.03.2010 19:54)
Re: Messung Pulsbreite 0,5 bis 1,5 msec bei 20 msec Duty cycle (von Joe - 23.03.2010 23:04)