mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Bitlevelaccess PORTF und PORTG MEAGA 64


Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

ich hänge mal wieder...
Versuche grade mit Codevision bitlevelaccess auf den
PORTG des MEGA64 zu erhalten. Klappt aber nicht.

Code sieht wie folgt aus

#define adr_count PORTG.0

// jede menge Code
DDRG=0xFF // PORTG-> output
// irgendwann dann
adr_count=1;

Da meckert das Ding dann irgendwo würde ein Semikolon fehlen.
Es fehlt aber keins.
Wenn ich das mit PORTA mache gehts.

Irgendwer irgendwelche Ideen?

Grüsse
  Tobi

Autor: Chris (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Da meckert das Ding dann irgendwo würde ein Semikolon fehlen.
> Es fehlt aber keins.

Guck nochmal nach. Es fehlt wirklich eins.

Autor: Teletubbi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, stimmt. Da fehlt eins.

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
da fehlt keins. Ich weis das hinter dem DDRF=0xFF eins net
da ist aber das hab ich weggelassen als ich es hier reingeschrieben
hab. (ja ich weiss Code gehört normalerweise in den Anhang
aber es ist ja net viel)

#include <mega64.h>
#include <delay.h>

#define cs_memory PORTA.7
#define oe_memory PORTA.6
#define we_memory PORTA.5

#define dclock_adc PORTA.3
#define cs_adc     PORTA.4
#define dclock_dac  PORTB.7
#define cs_dac PORTB.6
#define update_dac PORTB.5
#define dout_dac PORTB.4
#define adr_reset PORTG.1
#define adr_countup PORTG.0

char aus;
char aus2;
char i;
char mask;
char wert;
int wert_t1;
int wert_t2;
int frequenz;


//codevision automatisch generierter kram

//dann eigener code
      cs_adc=1;
      cs_memory=1;
      DDRF=0xFF;


      oe_memory=1;
      we_memory=0;        // write mode active
      adr_reset=1;       // <- da meckert er
      delay_us(3);
      adr_reset=0;       // da meckert er auch
      DDRC=0xFF; // PORTC -> Output
      cs_memory=0;
      PORTC=0xAA;
      delay_us(1);
      cs_memory=1;

// sonstiger kram

Gruss
   Tobi

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

PORTG kann nicht mittels SBI/CBI bearbeitet werden. Deshalb dürfte die
Zuweisung schief gehen. Das der Compiler dann aber ein fehlendes
Semikolon anmeckert dürfte am kaputten Compiler liegen.

Matthias

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das heisst bitsetting geht nicht?
oder muss ich dann auf ASM ebene runter?
Wenn ja wie?

Gruss
  Tobi

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

was weiß denn ich wie man deinem Compiler das beibringt. Portabel ist
PORTG |= (1<<1); um Bit 1 von PortG auf 1 zu setzen.

Matthias

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tjaja, mal wieder einer, der keinen Bock hat, in die Doku zu sehen...

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey
ich hab ich die Doku geguckt, hab aber nix gefunden.
Habs jetzt mittels
PORTG=PORTG | 0x02;
gelöst (um PORTG.1) zu setzten.
löschen tu ich das ganze dann wieder mit
PORTG=PORTG | 0xFD;

Danke nochmal an alle

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Löschen funktioniert so nicht. Statt | solltest Du & verwenden.

Autor: Tobias A. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi
ja stimmt hast recht.
Hab ich eigentlich auch verwendet.
Das passiert wenn man neu tippt anstatt copy & paste zu machen.
Trotzdem danke für den Hinweis.
Gruss
  Tobi

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.