Bit als Ausgang definieren

OP #1812939
Lesenswert?

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 #1812948
Lesenswert?

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?!
#1813010
Lesenswert?

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 #1813442
Lesenswert?

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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren