Bit als Ausgang definieren

OP #1812939
Hy Leute.

Ich bin neu in der "C-Welt".
Hab mir um C zu lernen ein Buch gekauft mit dem Titel 
"Softwareentwicklung in C für Mikroprozessoren und Mikrocontroller".

In diesem Buch ist beschrieben wie man Bits aus Ausgang definieren kann.

Und zwar:

Wenn Prozessor und Compiler Bitoperationen auf C-Ebene unterstützen:

/*Schalten des entsprechenden DDR auf Ausgang*/
PortA_DDR0=1;
/*Schalten des entsprechenden DDR auf Eingang*/
PortA_DDR1=0;

ODER

Wenn Prozessor und Compiler keine Bitoperationen auf C-Ebene 
unterstützen:

/*Schalten des entsprechenden DDR auf Ausgang*/
PortA_DDR=0x01;
/*Schalten des entsprechenden DDR auf Eingang*/
PortA_DDR=1x00;

Wenn ich das richtig verstehe, will er in diesem Beispiel PortA.0 auf 
Ausgang setzen und PortA.1 auf Eingang.


Wenn ich das so eingebe, kommen bei mir Fehlermeldungen.
<siehe Bild>
Angehängte Dateien:
Persönliche Seite
Nun, das ist kein Wunder, da der von Dir verwendete Compiler ein 
Compiler für das Erstellen von Windows-Programmen ist.

Der weiß natürlich überhaupt nichts mit Dingen wie PortA_DDR oder so 
anzufangen.

> Wenn Prozessor und Compiler keine Bitoperationen auf C-Ebene
> unterstützen:
>
> /*Schalten des entsprechenden DDR auf Ausgang*/
> PortA_DDR=0x01;
> /*Schalten des entsprechenden DDR auf Eingang*/
> PortA_DDR=1x00;
            ^
DAS soll in dem "C-Buch" drinstehen?!
Peter Brandstetter schrieb:

> Ich bin neu in der "C-Welt".
> Hab mir um C zu lernen ein Buch gekauft mit dem Titel
> "Softwareentwicklung in C für Mikroprozessoren und Mikrocontroller".

Um C zu lernen war das das falsche Buch.

Wenn du C lernen willst, dann mach einen großen Bogen um alle Bücher in 
deren Titel irgendwas in der Form "für System XYZ" vor kommt. (Es sei 
denn natürlich, dieses XYZ ist dein konkretes System auf dem du 
entwickelst. Bei dir also Windows)

Grund: Du musst 2 Dinge auseinanderhalten
a) C in seiner allgemeinen Form, wie es jeder C-Compiler versteht
b) C in seiner speziellen Form, mit Erweiterungen, die auf das jeweilige
   System zugeschnitten sind

b) ist eine Erweiterung von a). Will man b) bearbeiten ist ein solider 
Grundstock in a) mehr als vorteilhaft.

Du musst a) lernen, hast dir aber ein Buch für b) gekauft.
OP
> /*Schalten des entsprechenden DDR auf Ausgang*/
> PortA_DDR=0x01;
> /*Schalten des entsprechenden DDR auf Eingang*/
> PortA_DDR=1x00;
            ^
DAS soll in dem "C-Buch" drinstehen?!

ne da hab ich mich verschrieben
1x00 steht nicht drin ^^



ok danke
OP
der Befehl

/*Schalten des entsprechenden DDR auf Ausgang*/
PortA_DDR=0x01;


bzw.

/*Schalten des entsprechenden DDR auf Ausgang*/
PortA_DDR0=1;


funktioniert bei der mitgelieferten Software auch nicht.

Handelt sie dabei um das Application Board mit MEGA32 von Conrad.
Software heißt C-Control PRO

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 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.