Re: Timer Interrupt Kategorie: Programmierung Basic (von fraju - 18.07.2010 9:34) | |
Als Antwort auf Re: Timer Interrupt von Joe Pütz - 17.07.2010 22:35
| |
Hallo Joe Nicht gleich aufgeben wenn einmal eine Antwort nicht in der gewünschten Form erfolgt. Ist meistens nicht böse gemeint. Gru� > 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! > > > > > > > > > > > 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