Gast
#1386460
Hallo zusammen! Ich arbeite leider zum ersten mal mit dem HC12 Controller von Freescale und habe somit ein paar kleine Probleme mit dem Manual auszukommen. Bisher hat eigentlich alles ganz gut geklaptt allerdings komm ich beim Capture und Compare überhaupt nicht weiter. Ich habe eine feste Hardware vorgegeben und kann somit das Layout auch nicht ändern. Das Problem ist folgendes: Am Port T habe ich an PT2,4 und 5 eine Hardwaresitzen deren Signale ich überwachen muss. Es ist dringend notwendig das diese Signale Interrupt gesteuert sind, da ich hier schnelle Antwortzeiten benötige und normales Polling zu langsam wäre. Meines Wissens kann man doch mit der Captureeinheit externe Triggersignale zählen. Wenn z.B 10 Pulse gezählt wurden, dann soll Interrupt ausgelöst werden. In meinem Programm sollte nach einem Puls Interrupt ausgelöst werden, also sprich die Pins sollen als externe Interrupts fungieren. Ich mache jetzt schon zwei Tage daran rum und komme nicht richtig voran, daher frage ich einfach mal in die Runde da es sicherlich schon einige Leute hier gibt die Erfahrung mit diesem Controller haben. Meine Init Funktion ist folgende: TIOS = 0b00110100; // channel acts as an output compare TCTL3 = 0b00000101; // IOC4,5 captures on rising edges TCTL4 = 0b00010000; // IOC2 captures on rising edges TIE = 0b00110100; // Timer Interrupt Enable Register // After the first rising edge interrupt is released TC2 = 1; TC4 = 1; TC5 = 1; So war das eigentlich gedacht. Leider springt das Programm regelmäßig in die Routine vom IOC2 obwohl die Ports derzeit noch in der Luft hängen. Hoffe jemand nimmt die Mühe auf sich mir zu helfen... Gruß T.