Arduino => Zugriff auf ISR´s // vom Framework genutzte µC Resourcen

Gast #4261050
Lesenswert?
• ▲
▼
Mahlzeit,

ich habe jetzt zum ersten Mal mit Arduinos zu tun, genauer mit einem 
Nano.
Bisher habe ich die Megas immer blanko ohne ein Framework betrieben.

Jetzt gibt es zwei Dinge, die mich interessieren:

1.) Zugriff auf ISR´s
Z.B. in der Serial Classe wird die ISR für empfangene UART Daten 
verwendet.
Ich möchte jetzt selbst einen Handler schreiben. Habe ich dafür eine 
sinnvolle und vorgesehene Möglichkeit?

Ich könnte in den Classfiles rumschreiben, was ich im Sinne der 
Codepflege nicht gut fände, weil jeder der den Sketchcode dann nutzten 
will erstmal die selben Änderungen sicherstellen muss. Auf dem Wege 
könnte ich entweder die Verwendung der ISR auskommentieren, damit ich 
sie im Sketch nutzten kann ohne das der Compiler eine Doppeldeutigkeit 
feststellt, oder ich müsste die seriel Klasse von einem Interface 
ableiten, welches mir das Einrichten eines Notifierpatterns ermöglicht.


2.) Genutzte Resourcesn des Ardu-Frameworks
Weiß jemand, ob es für die Boards Listen gibt, in denen drinsteht, 
welche Hardware des jeweiligen µC genutzt werden?
Wenn ich z.B. den Nano habe und Timer_1 verwenden will, woher weiß ich, 
ob das Framework den nicht für irgendwas nutzt und ich dieses bei einer 
Registerinitialisierung im Sketch dann crashe?
Was mir sonst noch einfällt ist die jeweiligen Kontrollregister einer 
Hardware darauf zu prüfen, ob ihr Inhalt den Resetzuständen entspricht.

gez., der Chefkoch
Gast #4261063
Lesenswert?
• ▲
▼
In der Regel nutzt Arduino nur Timer0 für seine Systemzeit 
(millis(),delay()usw)
Und den Seriellen Interrupt.


Abschalten kannst du beides auf einen Schlag, wenn du die setup() und 
loop() Funktion weg lässt, und stattdessen eine main() anlegst.

Wie man dann allerdings die mitgelieferten <avr/io.h> usw. einbindet 
kann ich dir nicht sagen.
Gast #4261360
Lesenswert?
• ▲
▼
>>Abschalten kannst du beides auf einen Schlag, wenn du die setup() und
>>loop() Funktion weg lässt, und stattdessen eine main() anlegst.

Damit knocke ich im Grunde das Ardu-Framework aus, oder?

Außerdem klingt das für mich etwas was ich schon im Verdacht hatte, oder 
eigentlich sogar nur als Idee da war:

Wird dieses SketchFile von einem hostgestütztem Programm zunächst 
eingelesen und auf bestimmte Keywords hin untersucht?

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.