Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Timer0 Kategorie: Programmierung Basic (von Newbie - 12.10.2011 10:37)
Als Antwort auf Re: Timer0 von executer - 12.10.2011 8:20
Ich nutze:
C-Control Pro Mega32, CC-Pro 32 Application Board
> > > Hallo alle miteinander.
> > > Vielleicht könnt Ihr mir weiter helfen.
> > > Ich befasse mich seit kurzem mit der Programmierung der C-Control PRO Mini-Station.
> > > Nun habe ich ein kleines Programm geschrieben, doch es funktioniert leider nicht.
> > >
> > > Beschreibung des Programms:
> > > Wenn der Input1 der C-Control Pro Mini-Station auf Masse gezogen wird (0VDC), soll ein Timer
> > > gestartet werden.
> > > Nach Ablauf einer vorgegebenen Zeit, soll eine globale Variable auf "true" gesetzt werden.
> > > Wenn diese Variable "true" ist, soll der Output2 gesetzt werden. (LED am Ouput2 soll leuchten)
> > > Das Programm ist in basic geschrieben.
> > >
> > > Nun mein Problem:
> > > Er setzt, wenn der Eingang auf Masse gezogen ist, den Ausgang nicht.
> > > Somit leuchtet auch die LED nicht!
> > >
> > > Kann mir jemand sagen was an diesem Programm falsch ist.
> > >
> > > Schon mal vielen Dank im Vorraus!
> > >
> > >
> > > Quellcode:
> > >
> > > '*******************************************************************************
> > > 'Das Programm soll wenn am PortD.3 0VDC anliegen einen Timer starten.
> > > 'Nach Ablauf dieses Timers soll der PortC.3 gesetzt werden (LED leuchtet).
> > > '*******************************************************************************
> > >
> > >
> > > 'Port-Eingänge mit Nämen verweisen
> > > #define Input 27                    'Input1 PortD.3
> > >
> > > 'Port-Ausgänge mit Nämen verweisen
> > > #define LED 19                      'Output2 PortC.3
> > >
> > > #define PORT_ON 1
> > > #define PORT_OFF 0
> > >
> > > Dim VarTimer As Byte                 'Globale Variable
> > >
> > > 'Interrupt Timer
> > > Sub Timer0_ISR()
> > >     Dim irqcnt As Integer
> > >     VarTimer = 1
> > >     Timer_T0Stop()                   'Timer0 anhalten
> > >     irqcnt=Irq_GetCount(INT_TIM0COMP)
> > > End Sub
> > >
> > >
> > >
> > > Sub main()
> > >
> > > 'Port als Ausgänge deklarieren
> > > Port_DataDirBit(LED,PORT_OUT)        'PortC.3 als Ausgang (PORT_OUT= 1)
> > >
> > > 'Port als Eingänge deklarieren
> > > Port_DataDirBit(Input,PORT_IN)       'PortD.3 ist Eingang   (PORT_IN= 0)
> > >
> > > 'Pull-up Widerstand des Eingangs aktivieren
> > > Port_WriteBit(Input,1)
> > >
> > > 'Interrupt Service Routine definieren
> > > Irq_SetVect(INT_TIM0COMP,Timer0_ISR)
> > >
> > >
> > >
> > > 'Startvorgang
> > > If Port_ReadBit(Input)=0  Then                  'Abfrage ob Eingang gesetzt ist
> > >     Timer_T0Time(100,PS0_1024)                  'Zeit festlegen und Timer0 starten (100x69,44 µs)
> > > End If
> > >
> > >
> > > If VarTimer=1 Then
> > >     Port_WriteBit(LED, PORT_ON)
> > > End If
> > >
> > > End Sub
> > Hallo!
> > Ich arbeite mit BASCOM-AVR (IDE) und mir sind zwei Dinge aufgefallen:
> > 1) Der Timer ist nicht konfiguriert
> > 2) Es sind keine Interrupts Enabled
> >
> > Gegenfrage: Mit welchen Parametern bekomme ich eine Kommunikation mit dem
> > C-Control Projectboard PRO32?
> >
>
> Hallo,
>
> bevor Du irgendetwas ins Forum postest nutze doch unbedingt erst die sufu!
>
> Bevor Du mit irgendwelchen Compilern rumfummelst solltest Du es mit der dafĂĽr bestimmten IDE
> umsetzten. Oder leistet Dir MCS Support zur C-Control ?
> Augen auf, dann siehst wo Du die IDE downloaden kannst.
>
> viel Erfolg


Hallo,

das Programm ist mit der C-Control IDE umgesetzt worden!



    Antwort schreiben


Antworten: