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
> Da meckert das Ding dann irgendwo würde ein Semikolon fehlen. > Es fehlt aber keins. Guck nochmal nach. Es fehlt wirklich eins.
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
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
Das heisst bitsetting geht nicht? oder muss ich dann auf ASM ebene runter? Wenn ja wie? Gruss Tobi
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
Tjaja, mal wieder einer, der keinen Bock hat, in die Doku zu sehen...
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
Das Löschen funktioniert so nicht. Statt | solltest Du & verwenden.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.