Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C Quellcode formatieren: <code>Quellcode</code> BASIC Quellcode formatieren: <basic>Quellcode</basic> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! -> I > Hallo Jürgen, > so ganz habe ich nicht verstanden wie das ganz funktioniert und wie die Lichtschranken angeschlossen > sind. Auch verstehe ich nicht, was Du in diesem Zusammenhang mit den Timer-IRQ's machen möchtest. > Wenn von Messpunkt A bzw Messpunkt B jeweils immer nur eine der 3 LS aktiv ist, würde ich sie > hardwaremäßig verodern und jeweils auf einen externen IRQ-Eingang legen. Dann löst die LS direkt > einen IRQ aus, und Du kannst die Auswertung dazu starten. Alternativ dazu könntest Du sie auch > im 10ms-IRQ des Systems pollen. > Die IRQ-Routinen selbst sollten immer möglichst kurz sein ( keien Delays oder Ausgaben) und keine > (de)aktivierung des IRQ selbst enthalten (s. Kommentar unten). > Gruß > Franz-Peter > > > Hallo Franz-Peter oder gern auch jemand anderes... > > > > ich habe folgendes Problem ;) > > > > Ich möchte/muss insgesamt 6 Lichtschranken auswerten, wobei je 3 zu einer Gruppe Gehören. > > Anders Ausgedrückt, 2 Signalauslöser mit je 3 Lichtschranken in Ihrer "Umlaufbahn" > > > > Es können also maximal 2 Sensoren gleichzeitig ausgelöst werden, je Signalausgeber wiederum nur einer. > > > > MesspunktA.1 MesspunktA.2 MesspunktA.3 > > und > > MesspunktB.1 MesspunktB.2 MesspunktB.3 > > > > Ich möchte das gern über 2 Einzelne Interrupts lösen. > > > > Frage 1. Welche Interrupts (Timer) kann ich verwenden, blicke da irgendwie nicht so recht druch. > > > > Frage 2. Ist es Sinnvoll den IRQ am Anfang der IRQ-Funktion zu Deaktivieren und zum Ende wieder auf > > sich selbst zu legen, um zum Beispiel den wiederholten Aufruf per IRQ zu vermeiden solange die Funktion > > nicht verlassen wurde? > > > > Schematischer Quelltext: > > IRQ_A(Void) > > { > > Irq_SetVect(INT_TIM2COMP,0); 'Abschalten des IRQ's ??? Ist das richtig so??? > >>>nein, IRQ kann sich nicht selbst unterbrechen > > int irqcnt_a; > > irqcnt_a=Irq_GetCount(INT_TIM2COMP); > >>> das muss ganz am Ende stehen (nach MESSENSOREN PRÜFEN) > >>> Über den Wert kannst Du gegebenenfalls festtellen, ob der HW-IRQ während der Abarbeitung > >>> erneut ausgelöst hat. > > > > MESSENSOREN PRÜFEN und den IRQ wieder Aktivieren > > > > Irq_SetVect(INT_TIM2COMP,IRQA); > >>> s.o. > > } > > > > IRQ_B(Void) > > { > > Irq_SetVect(INT_TIM3CMPA ,0); 'Abschalten des IRQ's ??? Ist das richtig so??? > > int irqcnt_b; > > irqcnt_b=Irq_GetCount(INT_TIM3CMPA); > > > > MESSENSOREN PRÜFEN und den IRQ wieder Aktivieren > > > > Irq_SetVect(INT_TIM3CMPA,IRQB); > > } > > > > > > IRQ_INIT(Void) > > { > > Irq_SetVect(INT_TIM2COMP,IRQA); > > Irq_SetVect(INT_TIM3CMPA,IRQB); > > } > > > > Oder kann ich den INT_TIM3CMPA nicht dafür benutzen. > > > > Ich blicke da irgendwie nicht wirklich durch mit den Timern, Sorry! > > > > Danke > > > > Gruß Jürgen > > > > > > > > > > > > Hallo Franz-Peter, > > > > > > > > bei der verwendung von Lichtschranken/Gabel/Brücke/Reflex.... muß ich mir erst noch eine saubere > > > > Schaltung heraussuchen, da meine Impulse ca. 20ms Aktiv sind denke ich das ich eine Impulsverlängerung > > > > zusätzlich verbauen muß, aber auch bei der Auswahl der Sensoren bin ich mir noch nicht so sicher. > > > > ich tendiere für meine Zwecke zu CNY37 bzw. CNY36, weiß nur noch nicht wie ich die am besten drum rum > > > > Beschalten werde/muss/kann. > > > > Falls du Infos für mich zur Verfügung hast wäre ich dir sehr dankbar. > > > > > > > > Gruß Jürgen > > > > > > > > > > > Hallo Jürgen, > > > das Problem mit den kurzen Impulsen habe ich nicht. Meine Lichtschranke besteht aus dem Fototransistor > > > im Gleis und einer externen Lichtquelle. D.h. der ganze Zug unterbricht die Lichtschranke, solange er > > > im Gleis steht. Ich habe mir nur eine Abfallverzögerung eingebaut, damit bei kurzen Impulsen (z.B. > > > durch die Kupplungsbügel) keine mehrfachen Flanken entstehen. > > > Gruß > > > Franz-Peter