Forum: Compiler & IDEs GIMSK=(1<<INT0) ergibt eine Fehlermeldung beim644p


von fifo (Gast)


Lesenswert?

Hallo, guten Tag.

GIMSK=(1<<INT0); ergibt eine Fehlermeldung.

Was kann man jetzt für den 328p/644p schreiben?
GIMSK=(1<<INT0);

danke.

gruss

von Peter D. (peda)


Lesenswert?

fifo schrieb:
> GIMSK=(1<<INT0); ergibt eine Fehlermeldung.

Welche einen Wortlaut hat, den man nur zu lesen braucht.


Peter

P.S.:
Im Datenblatt stehen in jedem Abschnitt unter Registerbeschreibung die 
Namen der Bits und Bytes.

von fifo (Gast)


Lesenswert?

hmmm..., ich finde das neue Wort nicht, habe auch schon unter Winavr die 
iom644.h angeschaut.

gruss

von fifo (Gast)


Lesenswert?

Wenn ich einen Atmega8 nehme, funktioniert es.

Gruss

von Justus S. (jussa)


Lesenswert?

dann schau ins Datenblatt unter external interrupts...so schwer ist das 
doch nicht...

von Qwertz (Gast)


Lesenswert?

>hmmm..., ich finde das neue Wort nicht, habe auch schon unter Winavr die
iom644.h angeschaut.

Was vielleicht folgende Vorgehensweise erforderliche machen könnte:

1. Erinnern, warum und zu welchem Zweck Du das Wort GIMSK verwendet 
hast.
2. Im Datenblatt schauen ob der selbe Zweck mit einem Register, gleich 
welchen Namens des 644 zu erledigen ist.
3. Den Namen wie er im 644 heisst aus dem Datenblatt suchen.
4. Diesen Namen anstelle von GIMSK einsetzen.

von fifo (Gast)


Lesenswert?

GIMSK : Wenn dieses Bit gesetzt ist, wird ein Interrupt ausgelöst...

Steht hier in der Hilfe oben, die man nachschlagen kann.
Darum verstehe ich nicht, wie ich dieses Bit anders setzen kann?

GIMSK=(1<<INT0) und INT0 ist doch PD2 am 644p...hmm...

gruss

von g457 (Gast)


Lesenswert?

> GIMSK : Wenn dieses Bit gesetzt ist, wird ein Interrupt ausgelöst...

Nope, GIMSK ist i.d.R. ein Register (genauer: das Mnemonic für ein 
solches). Aber nicht beim m644(p).

> Steht hier in der Hilfe oben, die man nachschlagen kann.

Welche 'oben'? Die ist dann jedenfalls falsch. Schau in die einzige 
Verlässliche Quelle: das Datenplatt [1]. Hier: Grob Kapitel 10 'External 
Interrupts'.

> Darum verstehe ich nicht, wie ich dieses Bit anders setzen kann?

'Das Bit' (hier: INT0) kannst Du schon so setzen, nur heisst das 
zuständige Register beim m644p anders.

HTH und HF

[1] http://www.atmel.com/dyn/resources/prod_documents/doc8011.pdf

von fifo (Gast)


Lesenswert?

Wo gibt es eine Liste zum nachlesen, welche Wörter sich in Winavr-c in 
der letzten Zeit geändert haben?

gruss

von Oliver (Gast)


Lesenswert?

In Win-AVR haben sich keine Wörter geändert.

Die Namen der Register eines AVR legt Atmel fest. Wie die heißen, steht 
im Datenblatt des jeweiligen Prozessors. Du wirst nicht drumherum 
kommen, das zu lesen.

Zusätzliche Infos gibt es noch in der Doku zur avr-libc. Wenn du die 
nicht auf deinem Rechner findest (die ist da drauf), gibt es die auch im 
Internet. Tante google hilft beim suchen.


Oliver

von Simon H. (lightdesigner)


Lesenswert?

Da ich heute auch wegen der Bezeichnung gesucht habe:
Atmel verwendet im aktuellen Mega8 Datenblatt nicht mehr die Bezeichnung 
GIMSK sondern GICR.
In der Header-Datei iom8.h ist das zum Glück dokumentiert ;)

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
Noch kein Account? Hier anmelden.