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

Re: Probleme mit Ein- und Ausgängen Kategorie: Programmierung C (von Reiner S. - 25.03.2006 9:30)
Als Antwort auf Probleme mit Ein- und Ausgängen von Mario - 24.03.2006 8:18

Zwei Dinge sind bei diesem Programm zu beachten.
1. Da die Ports A und C standardmä�ig mit dem SRAM verbunden sind,
muss man dieses erst über Jumper JP7 deaktivieren. Erst dann können
die Ports entsprechend benutzt werden.
2. Es mĂĽssen die richtigen Ports als Eingang und Ausgang deklariert werden.
 
void main(void)
{
 Port_DataDir(2,0x00);   //Port C wird als Eingang deklariert
 Port_DataDir(0,0xFF);   //Port A wird als Ausgang deklariert
 Programm1();      
}

GruĂ?
Reiner

> Ich plane mit Hilfe ihrer C-Control Pro Mega 128 eine Schaltung zu realisieren. Zusätzlich zum Board
> und der CPU sind wir im Besitz einer LCD-Anzeige (zur Statusanzeige, ist noch in Planung) und einem
>  Tastenfeld (zur späteren Programmauswahl).
>
> Fakten zur Planung:
>
> Die C-Control soll
> -16 Eingänge haben, die per Taster angesteuert werden
> -16 Ausgänge zur Ansteuerung von Transistoren haben (Die beim Durchschalten eine Reihe LED's
> leuchten lassen)
>
> Programm 1:
> Ich habe mit dem Testprogramm versucht, die entsprechenden Ports auf Ein- bzw Ausgang zu
> schalten und nach Betätigung eines Tasters (bzw Ansteuerung eines Ports) einen Ausgang für 20
> Sekunden auf Ansteuerung zu belassen, bevor er wieder auf 0 zurückfällt. Allerdings messe ich an
> den Ports sehr komische Werte (3V, egal ob Ein- oder Ausgang, angesteuert oder nicht,oder ich
> messe dauerhaft 5V) Manchmal funktionierte es allerdings auch wie es sollte. Der Ausgang blieb bei
> ca. 0,8V, bis ich den passenden Eingang angesteuert habe. Dann stieg er auf 5,6V, blieb aber nicht
> fĂĽr die eingestelle Zeit bei AbsDelay(), sondern fiel immer schon nach ca. 2 Sekunden wieder ab.
> Habe ich einen Fehler in der Programmierung? Oder liegt es evtl am Board?
>
> Eigentlich geplant ist folgendes:
> Der Ausgang VAREL bleibt dauerhaft auf 1, bis einer der anderen 15 Eingängen angesteuert wird. Varel
> soll dann ausgehen und der dazugehöre Ausgang auf für 20 Sekunden auf 1 bleiben, es sei denn ein
> anderer Ausgang wird wieder angesteuert. Dann soll dieser stattdessen fĂĽr 20 Sekunden bleiben.
>
> Wie wäre das realisierbar? Es wäre auch nett, wenn jemand eine ausführlichere Erklärungen für die
> Timerfunktionen hätten, denn die aus dem Handbuch finde ich sehr mangelhaft.
>
> MfG
> Mario
>
> Programm:
> #define EVAREL 16    //Eingang von VAREL
> ...
> ...
> ...(geht so weiter bis)
> #define EFILTON 27
>
> #define VAREL 0        //Ausgang VAREL
> ...
> ...
> ...(geht so weiter bis)
> #define FILTON 7
>
>
> void Programm1(void)
>
>  byte FVAREL;           //Variable fĂĽr Funktion Varel definieren
>  ...
>  ...
>  ...(geht so weiter bis)
>  byte FFILTON;
>
> while(true)                                 //Endlosschleife (Warten auf Ansteuerung)
>   {
>    while(Port_ReadBit(EVAREL))  //Wenn Eingang angesteuert wird
>    {
>    if (FVAREL!=1) FVAREL=1;     //Setze Funktion Varel auf 1
>    else break;
>    }
>
>    while(FVAREL)                //beginne mit Ansteuerung des Ausgangs
>    {
>    Port_WriteBit(VAREL,ON);     //Setze Ansteuerung auf 1
>    AbsDelay(WARTEZEIT);         //Die Ansteuerung 20s auf 1 belassen
>    Port_WriteBit(VAREL,OFF);    //Setze Ansteuerung auf 0
>    if (FVAREL==1) FVAREL=0;     //beende Funktion Varel
>    }
>   }
> }
>
> void main(void)
> {
>  Port_DataDir(EINGANGSR1,PORT_IN);   //Ein- und Ausgänge definieren.
>  Port_DataDir(AUSGANGSR1,PORT_OUT);
>  Port_DataDir(EINGANGSR2,PORT_IN);
>
>  Programm1();                   //Auswahl(soll evtl durch ein zweites Programm erweitert werden)
> }
>
>  
>
>
> Ich muss zugeben ich hab nich sooo den Plan davon.Sorry schonmal ^^
>


    Antwort schreiben


Antworten:

Re: Probleme mit Ein- und Ausgängen (von Bernd der Alte - 27.03.2006 12:11)
    Re: Probleme mit Ein- und Ausgängen (von Markus - 28.03.2006 20:36)
        Re: Probleme mit Ein- und Ausgängen (von Bernd der Alte - 30.03.2006 12:18)