mikrocontroller.net

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


Autor: Acre Acre (acre)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Karl heinz Buchegger (kbucheg)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Acre Acre (acre)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Anton Keller (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Acre Acre (acre)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habs ausprobiert und es funktioniert -> thx!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.