Forum: Projekte & Code BME280 Libraries [ASM]


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Steffen H. (avrsteffen)


Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Ich hab ja schon etwas an anderer Stelle hier im Forum dazu etwas 
gepostet. Aber da ich die Libraries in Assembler für die verschiedenen 
8bit AVR-Typen anpassen musste, denke ich ist es besser ein neuen 
Beitrag zu eröffnen.
Dadurch kann so ein Beitrag durch eine Suche auch viel besser gefunden 
werden.

Das Ganze sieht im Assembler ja so aus, dass sich der Programmierer 
Gedanken machen muss, wie er die Hardware des gerade benutzten AVR-Cores 
ansprechen muss. Dies nimmt in C und C++ einem der Compiler ab. Auch 
deswegen spricht man da ja von einer Hochsprache.

Deswegen müssen in Assembler verschiedene Bibliotheken/Includes für die 
verschiedenen AVR-Cores verwendet werden.

Hier bei der BME280.inc Include Datei sieht das für die 4 verschiedenen 
Cores folgendermaßen aus:

AVR Tiny  Core (AVR und AVRe):
- mBME280. inc      (darin steckt die Kommunikation mit dem 
Sensor/TWI-Modul)
- bme_math. inc     (drin stecken die Berechnungen)
- sw_twi. inc       (Software-TWI, da die alten Tinys kein HW-TWI 
haben; USI zählt nicht)
- sw_math. inc      (Software mul, mulsu und muls Makro; da alte 
Tiny auch kein HW-mul)
- _muls_16x16. inc  (angepasste Multiplikationsroutinen 
(vorangestelltes "_") an sw_mult.inc)
- _muls... inc
- u.s.w

AVR Mega  Core (AVRe+, AVRxm und AVRxt):
- mBME280. inc      (darin steckt die Kommunikation mit dem 
Sensor/TWI-Modul)
- bme_math. inc     (drin stecken die Berechnungen)
- hw_twi. inc       (Hardware-TWI der älten Mega AVR's)
- muls_16x16. inc   (Multiplikationsroutinen)
- muls... inc
- u.s.w

AVR Tiny  Core (1-Series) sowie AVR Mega  Core (0-Series):
- BME280. inc       (darin steckt die Kommunikation mit dem 
Sensor/TWI-Modul)
- bme_math. inc     (drin stecken die Berechnungen)
- twi. inc          (Hardware-TWI der neuen Mega und Tiny AVR's)
- muls_16x16. inc   (Multiplikationsroutinen)
- muls... inc
- u.s.w


Beispiele zur Benutzung findet Ihr hier:
[Beitrag "[ASM] BME280 mit OLed Display mit ATmega808" BME280 mit OLed 
Display]

MfG Steffen

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]
  • [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.

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