Forum: Mikrocontroller und Digitale Elektronik Expected primary-experssion before numeric constant


von Killua Z. (Gast)


Lesenswert?

Hallo zusammen

Ich wollte diese Library ausprobieren, aber es kommt immer der oben 
genannte Fehler...

https://github.com/GreyGnome/EnableInterrupt

Ich gebe folgendes ein:

 enableInterrupt(uint8_t 11, void (isr)(void), uint8_t CHANGE);


Fehler :  Expected primary-experssion before numeric constant

von Wolfgang R. (Firma: www.wolfgangrobel.de) (mikemcbike)


Lesenswert?

Killua Z. schrieb:
> uint8_t 11

Ich denke, der Compiler erwartet nach uint8_t einen Variablennamen...

Als Cast würde ich (uint8_t)11 schreiben.

Beitrag #5777930 wurde von einem Moderator gelöscht.
von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Man könnte auch einfach nur 11 hinschreiben. Den Cast macht der Compiler 
eh' von alleine.

Killua Z. schrieb:
> Fehler :  Expected primary-experssion before numeric constant
Ein Fehler im Fehler, aber holla!
BTW: läuft dein Arduino jetzt auch am USB?

von Killua Z. (Gast)


Lesenswert?

Lothar M. schrieb:
> Man könnte auch einfach nur 11 hinschreiben. Den Cast macht der Compiler
> eh' von alleine.
>
> Killua Z. schrieb:
>> Fehler :  Expected primary-experssion before numeric constant
> Ein Fehler im Fehler, aber holla!
> BTW: läuft dein Arduino jetzt auch am USB?

Ja, habe ihn ausgemessen und die GNDs verbunden. Danke für die Hilfe.

von Killua Z. (Gast)


Lesenswert?

Wolfgang R. schrieb:
> Killua Z. schrieb:
>> uint8_t 11
>
> Ich denke, der Compiler erwartet nach uint8_t einen Variablennamen...
>
> Als Cast würde ich (uint8_t)11 schreiben.

Zeigt den gleichen Fehler bei der eingegeben Variabel ein.

von Sebastian R. (sebastian_r569)


Lesenswert?

Guck' dir einfach mal eines der Beispiele der Library an und schau, wie 
dort der Funktionsaufruf gestaltet ist.

https://github.com/GreyGnome/EnableInterrupt/blob/master/examples/ATtinyBlink/ATtinyBlink.ino

Vor allem die Übergabe der Funktion, die im Falle eines Interrupts 
aufgerufen werden soll (Callback) und auch die Angabe über die Flanke 
des Interrupts.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Killua Z. schrieb:
> Ich gebe folgendes ein:
>
>  enableInterrupt(uint8_t 11, void (isr)(void), uint8_t CHANGE);

Richtig wäre vermutlich

1
  enableInterrupt(11, isr, CHANGE);

Das swäre zumindest syntaktisch korrekt. Ob es das von dir Gewünschte
tatsächlich tut, kann ich von hier aus mit den gegebenen Informationen
nicht beurteilen.

Vielleicht liest du dir auch mal die Doku von attachInterrupt durch
(enableInterrupt scheint einfach nur ein Synonym dafür zu sein):

  https://www.arduino.cc/reference/en/language/functions/external-interrupts/attachinterrupt/

von Oliver S. (oliverso)


Lesenswert?

Man kann tatscählich den gleichen Fehler mehrfach in einer Zeile machen.

Ein C-Buch wäre aber auch nicht schlecht, so für die allereinfachsten 
Grundlagen.

Oliver

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.