Forum: Mikrocontroller und Digitale Elektronik Variable für Portpin setzen


von Acre A. (acre)


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

von Karl heinz B. (kbucheg)


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.

von Falk (Gast)


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

von Acre A. (acre)


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.

von Anton Keller (Gast)


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.

von Acre A. (acre)


Lesenswert?

Habs ausprobiert und es funktioniert -> thx!

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.