mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bitdeklaration global verwenden


Autor: Hardware Interrupt (bensen83)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute ich habe einen PIC24 und möchte die IO Bits mit Namen 
versehen ich habe mit eine Funktion gemacht die wie folgt ausschaut:

void initOutputs(void){        // Bit = 0 -->  Ausgang      Bit = 1 --> 
Eingang
  //IO_ENPO=0;    _TRISG0=0;
  IO_ISD00=0;    _TRISG1=0;
  IO_CW=0;    _TRISG7=0;
  IO_CCE=0;    _TRISG8=0;
  IO_mode_out=0;  _TRISG12=0;
}//initOutputs

void initInputs(void){        // Bit = 0 -->  Ausgang      Bit = 1 --> 
Eingang
  IO_SignalA=0;  _TRISG2=1;
  IO_SignalB=0;  =TRISG3=1;
  IO_mode_in=0;  _TRISG9=1;
  IO_Start_REC=0;  _TRISG14=1;
  IO_E_Stop=0;  _TRISG15=1;
}//initOutputs

wenn ich jetzt im hauptprogramm, nachdem ich diese funktionen aufgerufen 
Habe einen der Variablennamen eingebe, bekomme ich einen Fehler, dass es 
nicht deklariert wäre, wie bekomme ich es hin, dass dies nicht mehr 
passiert? danke schon mal.

Autor: Hardware Interrupt (bensen83)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe die Deklaration jetzt so gemacht:


void initOutputs(void){        // Bit = 0 -->  Ausgang      Bit = 1 --> 
Eingang
  #define IO_ENPO _RG0
  IO_ENPO=0;    _TRISG0=0;
  #define IO_ISD00 _RG1
  IO_ISD00=0;    _TRISG1=0;
  #define IO_CW _RG7
  IO_CW=0;    _TRISG7=0;
  #define IO_CCW  _RG8
  IO_CCW=0;    _TRISG8=0;
  #define IO_mode_out _RG12
  IO_mode_out=0;  _TRISG12=0;
}//initOutputs

void initInputs(void){        // Bit = 0 -->  Ausgang      Bit = 1 --> 
Eingang
  #define IO_SignalA _RG2
  IO_SignalA=0;  _TRISG2=1;
  #define IO_SignalB _RG3
  IO_SignalB=0;  _TRISG3=1;
  #define IO_mode_in _RG9
  IO_mode_in=0;  _TRISG9=1;
  #define IO_Start_Rec _RG14
  IO_Start_Rec=0;  _TRISG14=1;
  #define IO_E_Stop _RG15
  IO_E_Stop=0;  _TRISG15=1;
}//initInputs

geht aber im Main immer noch nicht, helft mir bitte ;-)

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> helft mir bitte ;-)

Die vernünftigste Hilfe ist an dieser Stelle:
Kauf dir ein C-Buch

Autor: Tobias K (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Defines setzt man doch nicht in eine Funktion.
Die werden in einer Header Datei deklariert.
und die Header datei wird eingebunden.

Kann mich meinem Vorredner anschliesen.
Kauf die ein C-Buch

Autor: Hardware Interrupt (bensen83)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Leute, habe es aUCH IN NE hEADER dATEI GAMCHT UND ES FUNZT; pS: 
bUCH HABE ICH AUCH GEKAUFT ;-)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.