Re: Timer Interrupt Kategorie: Programmierung Basic (von PeterS - 18.07.2010 9:46) | |
Als Antwort auf Re: Timer Interrupt von Joe Pütz - 17.07.2010 22:35
| |
> Die Antwort hat mich als "Einsteiger" natürlich sehr weit gebracht.. > .Handbuch und sämtliche Doku hatte ich selbstverständlich vorher bemüht...ohne Erfolg... > deshalb mein "Hilfeschrei"...Problem hab ich jetzt in "Eigenregie" gelöst, Timer funktioniert... > Tschüss Forum! Wo liegt Dein Problem? Ich habe Dich darauf hingewiesen, das der Timer_T0Time() Aufruf nur einen 8-Bit Timer Wert übergeben bekommt, weil es ein 8-Bit Timer ist. Wenn man sich das im Handbuch näher ansieht, sollte auch ein Anfänger sich das erarbeiten können. Ich finde es wichtig jemanden einen Schubs in die richtige Richtung zu geben, damit er daraus lernen kann. >> geht aber nicht für die gewünschte Zeit in Selbsthaltung. Du solltest in Zukunft Dein Problem auch präzisieren. Wie lange blieb denn Port 15 an? Zu kurz? Zu lang? Für immer? Gerade diese Info ist doch wichtig um einen Fehler zu finden. Keiner im Forum hat die Zeit, sich wirklich das Projekt aufzusetzen, und Messreihen zu fahren. Gruss Peter > > > > > > > > > > > Hallo! > > > > > > bin Einsteiger und verzweifle leider an einer simplen Aufgabe: > > > > > > Ich möchte mit dem Timer T0 eine Ausschaltverzögerung (ca. 3 sec) realisieren. > > > > > > Port 15 wird zwar aktiv, wenn Eingang Port 14 = 0, geht aber nicht für die gewünschte Zeit in Selbsthaltung. > > > > > > > > > Bitte um Hilfe...........Danke! > > > > > > Gru� Joe > > > > Hallo Joe, > > > > Dir ist klar, das Timer0 ein 8-Bit Timer ist, und deshalb nur ein byte als Timerwert bekommt? > > Bitte immer erst das Handbuch lesen! > > > > Gruss Peter > > > > > > > > > > > > > > > > > > > > Hier das Programm: > > > > > > > > > Dim Busy As Byte > > > > > > Sub main() > > > > > > Do While(1) > > > Port_DataDirBit(15,PORT_OUT) > > > Port_DataDirBit(14,PORT_IN) > > > Port_WriteBit(14,1) > > > > > > If Port_ReadBit(14)= 0 Then > > > > > > Port_WriteBit(15,1) > > > Irq_SetVect(INT_TIM0COMP,T1) > > > Busy=1 > > > Timer_T0Time(20000,PS0_1024) > > > > > > > > > Do While Busy=1: End While > > > > > > > > > > > > > > > > > > > > > > > > Port_WriteBit(15,0) > > > > > > End If > > > > > > End While > > > End Sub > > > > > > Sub T1() > > > Dim irqcnt As Integer > > > Busy=0 > > > irqcnt=Irq_GetCount(INT_TIM0COMP) > > > End Sub > > > | |
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum