Bitlevelaccess PORTF und PORTG MEAGA 64

Gast #140848
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
Gast #140851
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
Gast #140852
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
Gast #140856
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

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