www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Verbesserungspotential?


Autor: Daniel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin gerade dabei ein an das Sony SIRCS-Protokoll angelehntes
Ein-Draht Protokoll zu schreiben. (SIRCS ist ja eigentlich für IR aber
es soll auch für Draht gut funktionieren!) Es gibt nur zwei
gleichberechtigte Geräte.

Problem ist nur, dass meine Routine, die für das Senden und Empfangen
zuständig ist einfach zu viel Speicher verbraucht 1286 Byte!!! Also
knapp 70% des Flashs meines ATTiny26...

Über Verbessungsvorschläge würde ich mich daher wirklich freuen!

Vielen Dank,


Daniel


ps. die Funktion um die es geht heißt DDBusCheck().

Autor: john (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
versuch mal die math.h weg zu lassen. so wie es aussieht benutzt du die
ja sowieso nicht

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

math.h brauch ich leider für die fmod Fkt. (also modulo)
Macht aber auch nicht allzuviel aus...

Das kann doch nicht sein, dass das so viel Speicher braucht... hab ich
da zu viel if Abfragen???

Grüße,

Daniel

Autor: Rufus T. Firefly (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das geht aber einfacher:

  if (fmod(DDcountbit,2) != 0)  // Alle ungeraden Bits ...esendet.

Einerseits könntest Du einfach den modulo-Operator statt einer
_floatingpoint_(!)-Funktion verwenden


  if ((DDcountbit % 2) != 0)

oder noch einfacher nur das letzte Bit untersuchen:

  if (DDcountbit & 1)

Das macht exakt dasselbe.

Autor: Daniel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OOkkk... Mist. Das kommt davon wenn man nicht nachdenkt!!
Jetzt bin ich runter auf 40% (von vorher 80)...

Vielen Dank für die Hilfe!

Daniel

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.