PIC cc5x for-Schleifen Syntax Frage

Gast #501523
Lesenswert?
• ▲
▼
Hallo,
nachdem mir bei meinem ersten Beitrag heute Morgen so schnell, und 
erfolgreich, geholfen wurde möchte ich euch noch etwas fragen:

uns16 i,j;
i=1;
for(j=0;j<i;j++)
  PORTB.j = 1;

liefert mir beim Kompilieren einen Fehler, anscheinend kann er das .j 
hinter dem PORTB nicht verarbeiten. PORTB.0 z.B. ist aber möglich...
Weiß jemand den Grund dafür?

Schöne Grüße,
Alex
Gast #501542
Lesenswert?
• ▲
▼
Hallo Andreas!
Das hier ist das compile-log:

main.c:

}
PORTB.i = 1;
      ^------
Error[1] D:\Counter\main.c 27 : Syntax error
 (The expression must be corrected. The marker ^------ shows
 the approximate position where CC5X gives up. The documentation
 should be checked if the cause is not obvious)

uns16 habe ich als Variablentyp auch schon an anderen Stellen verwendet. 
Es scheint, als ob cc5x an dieser Stelle entweder keine Variablen 
duldet, oder wenn, dann stimmt mit dem Typ oder der Syntx wohl etwas 
nicht...
Gast #501609
Lesenswert?
• ▲
▼
Ja, der duldet keine Variablen. Du musst den ganzen PORTB in eine 8 bit 
Variable laden, dann manipulieren, und dann wegschreiben. Da es mit 
Read-modify-write Befehlen Schwierigkeiten geben kann, schreibe ich 
parallel zu den Prots immer in eine Spiegelvariable, also:
port_b = 0xff;
s_port_b = 0xff;

Dann musst du einfach nur s_port_b verändern, und in das Port-Register 
schreiben.

Antwort schreiben

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.

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.