Bitdeklaration global verwenden

OP #1246135
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.
OP #1246144
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 ;-)
Gast #1246344
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

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.