Wo liegen die Core Datein z.B. wiring.c

Hallo,

ich verzweifel gerade.
Ich war der Meinung das die wiring.c Datei unter:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino liegt.

Diesen Pfad gibt es auch und die Datei ist dort auch vorhanden.

Wenn ich Funktionen in der Datei so ändere das Sie nicht mehr funktionieren oder ich einfach irgendwo ein Punkt rein setze, so dass die Datei korrupt ist, müsste doch Arduino beim kompilieren meckern.

Tut es aber bei mir nicht :frowning:

Habe jetzt Arduino schonmal neu installiert (1.6.12) und vorher diesen Pfad komplett gelöscht.
Ändert aber nichts.

Ich kann sogar alle Datein in diesem Pfad löschen und das System meckert immer noch nicht beim kompilieren.

Hintergrund:
Ich möchte eine Eigene Funktion in Timer0 hinzufügen, damit er jede Millisekunde etwas ausführt.

Vielen Dank schonmal

tausday:
Ich war der Meinung das die wiring.c Datei unter:
C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino liegt. ...

Kannst Du nicht irgendeinen Suchbefehl auf Dein Dateisystem loslassen? Vielleicht STRG-F? Ich vermute, dass Du mehr als eine wiring.c-Datei finden wirst.

tausday:
Hintergrund:
Ich möchte eine Eigene Funktion in Timer0 hinzufügen, damit er jede Millisekunde etwas ausführt.

Dazu musst Du doch keine core-Datei(en) ändern. Programmiere eine Routine, die von einem passend konfigurierten Interrupt aufgerufen wird.

Oder verstehe ich Dich falsch?

Gruß

Gregor

Welches Board hast du ausgewählt?

Danke schonmal für die schnelle hilfen:

@gregorss
Ich möchte/muss Timer0 mitbenutzen, da die anderen Timer alle schon belegt sind.
Da ich aber die Funktionen micros und millis nicht verlieren will bin ich der Meinung, muss ich weiterhin:

setup() mit starten:

Versuche ich jetzt eine ISR z.B.
ISR(TIMER0_OVF_vect)

in den Sketch hinzuzufügen, gibt es eine Fehlermeldung, das diese ISR bereits verwendet wird.

Gibt es eine andere Möglichkeit dieser ISR etwas hinzuzufügen?

@combie
Verwendet wird ein Mega2560

Lösung:

Datei-> Voreinstellungen siehe Bild.
Dort legt das Programm ebenfalls die gleichen Dateien ab und wenn man die anpasst funktioniert es auch.

tausday:
Gibt es eine andere Möglichkeit dieser ISR etwas hinzuzufügen?

Wenn es einen anderen Weg als das Herumschreiben in Kernkomponenten der IDE gibt, würde mich das interessieren, denn beim Gedanken an eine Änderung der Core-Dateien komme ich bis kurz vor „mir ist schlecht …“.

Wenn Du das trotzdem machst, notiere das so, dass Du es nie vergisst und es jederzeit wiederholen kannst. Schick Dir selbst eine E-Mail (wegen des externen Zeitstempels), drucke sie incl. aller Headerdaten aus und gib den Ausdruck einem Notar. Oder noch Schlimmeres.

Ich würde vorher aber noch kontrollieren, ob die ISR in einer verwendeten Bibliothek belegt wurde. Wenn ich dort herumpfuschen müsste, wäre mir deutlich unschlechter :slight_smile:

Gruß

Gregor

gregorss:
Wenn es einen anderen Weg als das Herumschreiben in Kernkomponenten der IDE gibt, würde mich das interessieren, denn beim Gedanken an eine Änderung der Core-Dateien komme ich bis kurz vor „mir ist schlecht ...“.

Wenn Du das trotzdem machst, notiere das so, dass Du es nie vergisst und es jederzeit wiederholen kannst. Schick Dir selbst eine E-Mail (wegen des externen Zeitstempels), drucke sie incl. aller Headerdaten aus und gib den Ausdruck einem Notar. Oder noch schlimmeres.

Ich würde vorher aber noch kontrollieren, ob die ISR in einer verwendeten Bibliothek belegt wurde. Wenn ich dort herumpfuschen müsste, wäre mir deutlich unschlechter :slight_smile:

Gruß

Gregor