mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik SREG TIMER USART


Autor: Zusammenpacker_Atmega (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Jungs,

ich bin gerade dabei meine einzelnde Hardware (232, 485,SPI) Timer etc. 
alle zusammen zum spielen zu bekommen :-)

Leider bin ich gerade mal wieder am verzweifeln und wüßte nicht, woran 
es liegen kann. Also:

Ich binde nacheinander immer die Init_HardwareA();
Init_HardwareB();  und letztendlich sei(); IniteinTImer(); 
ein...(beispielhafte Reihenfolge!!)

EInzelnd laufen die auch soweit wunderbar. Allerdings läuft die 
einzelnde Hardware nur, wenn ich immer eine bestimmte Reihenfolge 
einhalte und nicht wenn ich dann z.B die dritte einbinde.Sprich, 
ausgetüftelt dass alle in der richtigen Reihenfolge laufen, habe ich 
nocht nicht hinbekommen!

 Meine Frage, es müßte doch eig. möglich sein, erst alle Einstellungen 
in den enstrpechenden Registern zu setzen und danach(wo es nötig ist!) 
das sei(); zuletzt aufzurufen. oder ?

Atmega2560 und AVR-GCC!

Vielen Dank für Mithilfe :-)

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das, was Du da schreibst, kann so vermutlich keiner nachvollziehen, da 
keiner das Programm kennt.

Abgesehen davon ist es tatsächlich Unsinn, vor der 
Hardware-Initialisierung bereits die Interrupt-Bearbeitung global 
freizugeben.

Es heißt im Übrigen "einzeln" ohne "d" am Ende...

Autor: Zusammenpacker_Atmega (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

danke für die Grammatik-Stunde :-D

Hmm, das habe ich mir schon gedacht, dass es keiner so richtig verstehen 
mag! Also, ich kann leider nicht genau sagen, was ich an Hardware so 
alles habe(da es um ne Dipl-Arbeit mit sperrung geht!).

Ich wollte eig. nur wissen, ob ich Hardwareinitialisierungen in einer 
gewissen Reihenfolge abarbeiten lassen sollte.

Z.B.

1. TImer initialisieren
2. Hardwareschnittstelle A initialisieren
3. Hardwareschnittstelle B initialisieren
4. ....
sei();
oder

1. Hardwareschnittstelle A initialisieren
2. Hardwareschnittstelle B initialisieren
3. TImer initialisieren
4...
sei();

Das sei(); am Ende zu kommen hat, ist mir schon klar :-)

Ich habe bisher keine funktionierende Reihenfolge gefunden :(

greetz

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zusammenpacker_Atmega wrote:
> Ich habe bisher keine funktionierende Reihenfolge gefunden :(
Wenn es eine reine Hardware-Initialisierung ist, dann machst Du 
irgendwas falsch. Da wir aber weder die Hardware kennen, noch den 
Quellcode, noch, was die Hardware denn machen soll, wenn sie denn 
funktioniert, noch, wie es sich ausdrückt, dass es nicht funktioniert, 
kann man da leider gar nichts zu sagen.

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Zusammenpacker_Atmega (Gast)

>Ich wollte eig. nur wissen, ob ich Hardwareinitialisierungen in einer
>gewissen Reihenfolge abarbeiten lassen sollte.

Zu 99% ist die Reihenfolge UNTERSCHIEDLICHER Module bei der 
Initialisierung egal. INNERHALB eines Moduls kann es bisweilen auf die 
Reihenfolge ankommen, z.B. wenn man vor dem Programmstart erst noch 
einmal möglicherweise anstehende Interruptflags von timern etc. löschen 
will.

MFG
Falk

Autor: Zusammenpacker_Atmega (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Falk,

ich glaube da hast du mich auf ne Idee gebracht! Das werde ich doch 
gleich mal testen.. Danke!

greetz

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.