Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Wichtig: Bevor Du wegen einem Problem mit der CC2 postest, stelle sicher, daß Du
die neueste OS-Version, die neuseste Compiler-DLL und die neuesten Modulversionen benutzt!
Beachte, daß sich auf der CD zur CC2-Unit/Station auch jetzt noch die ältesten Dateien befinden!
Es gelten folgende Anleitung und Regeln: Regeln CC2Net.de-Forum
Zurück zum Artikel  (Blaue Felder sind Pflichtfelder)


Name:   UserID: 
 E-Mail:
Kategorie
Betreff
Homepage:
Link-Titel:
Link-URL:
Cookie für Name, UserID, E-Mail, Homepage-URL setzen
(Erspart die Neueingabe bei Beiträgen und Antworten)
(Zum Löschen des Cookies hier klicken)
Ich nutze:
C-Control II Unit
C164CI-Controllerboard
C-Control II Station
CCRP5 mit CC2-Unit (Conrad Roboter)
CC2-Application-Board
CC2-StarterBoard
CC2-ReglerBoard
eigenes Board
original OS     OSOPT_V2     OSOPT V3.0 OSOPT V3.1

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>
C2 Quellcode formatieren: <code>Quellcode</code>
ASM Quellcode formatieren: <asm>Quellcode</asm>
(Innerhalb eines Quellcodeabschnitts ist kein html möglich.)
Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst !  

> Hallo nochmals, > um den Interruptprogrammierung zu testen habe ich ein *.c2 Programm, in dem es eine interruptroutine > mit dem Befehl "system.hook" über das > Port 'P1H.0' auslösen soll, geschrieben. und sieht so aus; > > <code> > thread main > { > loop > { > ports.set(3,0); > ports.set(5,0); > > system.hook(system.EVENT_P1H0,3,0,system.HOOK_BEFORE); > > ports.set(3,1); > sleep 200; > ports.set(3,0); > sleep 200; > } > } > </code> > > und das C Systemprogramm habe ich so geschrieben; > > <code> > #define REG164CI_NOOTP > #define REG164CI_NOPEC > #define REG164CI_NOCAN > #include "reg164ci.h" > > void pulses ( void ) > { > if (CC6POS0 == 0) //P1H.0=0 > COUT62=1; //P1L.5=1 > else > COUT62=0; //P1L.5=0 > > #pragma asm > POP R12 > POP R12 > #pragma endasm > } > > </code> > > Wenn ich das Programm laufen lasse, dann wie geregelt, blinkt ein LED in dem Port P1L.3 und wenn > ich den Pegel von P1H.0 auf LOW setze, bzw. mit einem Stück Draht zu GND verbinde, dann blinkt das > LED auf dem Port P1L.5 und unglücklicherweise stoppt der Programmlauf. Zusätzlich blinkt das HOST > Modus LED auf dem Starter Board. > Was kannst du(/könnt Ihr) mir empfehlen? Wie kriege ich diesen Interrupt als ein blutiger Anfänger hin? > > Grüß > Kurt > > > Hallo Dietmar > > vielen vielen Dank für die schnelle (21 Minuten) und ausführliche Antwort. Da ich einer Anfänger bin, konnte ich mein > > Problem nicht so deutlich ausdrücken aber dein Antwort ist völlig ausreichend um das Problem zu lösen. > > ich wünsche dir ein schönes Wochenende. > > Grüß > > > > > > > Hallo! > > > > > > Mir ist nicht ganz klar, was du eigentlich möchtest. Bei einem Analog-Eingang bekommst du <u>immer</u> > > > ein Signal. Selbst wenn keine Spannung anliegt, bekommst du eben den 0V-Pegel. > > > Anders ist das bei einem digitalen Eingang, der nur zwei Zustände kennt: High-Level und Low-Level. > > > Hier kann der Zustandswechsel einen Interrupt auslösen. Eine andere Möglichkeit ist eben der ms-Timer, > > > der jedesmal nach Ablauf einer gewissen Zeitdauer einen Interrupt auslöst. > > > Hinter Interrupts müssen also immer irgendwelche Zäsuren stehen, die definitionsgemäße Auslöser von > > > Interrupts sind. Beim ADC müsste man zuerst definieren, was eine solche Zäsur sein soll. Beispiele - > > > die von der CC2 aber nicht von sich aus unterstützt werden - könnten das Über- oder Unterschreiten > > > irgendwelcher Schwellwerte sein. Ohne solche Definition gibt es auch keine Interrupts, und das ist der > > > derzeitige Status der CC2. Du kannst dir jedoch selbst eine Schaltung bauen, die je nachdem, ob ein > > > Schwellwert über- oder unterschritten wird, ein digitales Signal (0V oder 5V) erzeugt, das du auf einen > > > der Interrupt-fähigen Digitaleingänge der CC2 legst. Dann kannst du einerseits auf den Schwellwert > > > reagieren und andererseits den Messwert auswerten, der am ADC anliegt. > > > > > > Beste Grüße, > > > Dietmar. > > > > > > > > > > > > > > Hallo Leute, > > > > bin ein Anfänger und habe Probleme mit meiner Interruptroutinen. Folgendes; ich möchte ein Schleife > > > > definieren in dem ich eine lange Prozess laufen lasse. > > > > Dabei möchte ich die AD Converter Ports regelmässig lesen ob ich Signale aus der > > > > vorhandenen Sensoren bekomme oder nicht. Wenn ja, dann möchte ich das Prozess abbrechen. > > > > > > > > In dem Buch Stand, daß es in der CC2 Unit 5 Interruptquellen gebe (P1H0 bis 3 und 1 ms timer(habe > > > > keine DCF Antenne)). > > > > Da, ich aber nicht die Ports P1H benutzen muß, sondern auf die ADC Ports achten muß; wie kann ich > > > > diese Ports in einer Interruptroutine definieren? oder sind ADC Ports gar nicht Interruptfähig? > > > > > > > > Vielen Dank im Voraus
Dateianhang: (.gif, .png., .jpg, .zip, .rar)
max. 256kB
max. 256kB