Variable für Portpin setzen

OP #454576
Lesenswert?

Ich möchte einem Portpin eine Variable zuordnen, leider fehlt es mir an 
den notwendigen Kenntnissen. Ich habe es wie folgt versucht:

#define Ad0 PORTB.1
#define Ad1 PORTB.2

im Programm möchte ich dann Ad0 einen Wert zuordnen, also z.B. Ad0=1; 
Leider bekomme ich aber ständig einen Syntax Error! Kann mir jemand 
weiterhelfen?

µC: PIC18F4550 am PICDEM FS USB Demo Board
Software: MPLAB, Programm wird in C geschrieben
#454591
Lesenswert?

> Leider bekomme ich aber ständig einen Syntax Error!

Anstatt uns das alles zu beschreiben, wäre es vernünftig:

* Das Programm zuposten
  Du schickst ja auch nicht eine Beschreibung deiner Krankheit
  zum Arzt und erwartest eine Diagnose
* Die Fehlermeldung!
  Mit: "Doktor es tut weh" kann kein Arzt was anfangen.
Gast #454603
Lesenswert?

@ Karl heinz Buchegger

Wer lesen kann ist klar im Vorteil. Steht doch alles da. Da sind schon 
GANZ andere "Problemerklärungen" hier aufgeschlagen.

@Monika

Ich kann aber leider nicht weiter helfen, hab keine Ahnung von C aufm 
AVR.

MFG
Falk
OP #454604
Lesenswert?

Ich wollte damit ja auch nur erfragen ob ich die Variable dem Portpin 
korrekt zuweise oder ob ich bei der Zuweisung schon einen Fehler gemacht 
habe.

Anbei der gewünschte Codeauszug:

 #define En_test PORTB.0
 #define CLK PORTB.1
 #define R_W PORTB.2
 #define Ad0 PORTB.3
 #define Ad1 PORTB.4
 #define DataIn PORTB.5
 #define DataOut PORTB.6


static void InitPorts(void)
{
   TRISB = 0x3F;
}

void main(void)
{
    InitializeSystem();
    InitPorts();

    while(1)
    {
        Ad0 = 0;
        Ad1 = 1;

     USBTasks();         // USB Tasks
    }
}

Wirklich viel steht nicht drinnen aber es ist ja erst der Beginn.
Gast #454611
Lesenswert?

hallo!

wenn ich mich richtig erinnere muesste das so heissen:

#define Ad0 PORTBbits.RB1
#define Ad1 PORTBbits.RB2

sollte aber im entsprechenden headerfile (p18f4550.h)
zu finden sein.

gruss
a.

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