Gelöst: ATtiny85 - DigiSpark - Unterschied beim Kompilieren

Bitte um Hilfe.

Ich habe hier einige DigiSparks vor mir liegen und mich langwierig und mühsam bis zur ISP-Programmierung durchgekämpft. Das funktionier jetzt auch soweit. Ich kann jetzt einen leicht modifizierten Blink-Sketch auf 2 Arten auf den DigiSpark hochladen. Und zwar mit folgenden Einstellungen:

Variante 1:
Board: DigiSpark, Clock: 16MHz no USB, Micronucleus Default, ...
Programmer: Arduino as ISP
funktioniert

Variante 2:
Board: ATtiny25/24/85, Pocessor: ATtiny85, Clock 16Mhz, ...
Programmer: Arduino as ISP
funktioniert auch.

JETZT mein Problem bzw. meine Not.
Wenn ich NUR kompiliere, also nur das Häkchen ganz links in der IDE-drücke,
dann kompiliert er das offenbar auf 2 verschiedene Arten. DENN ich will in meinem Sketch ein kleines OLE-Display ansteuern und verwende dazu
#include <Tiny4kOLED.h>

Wenn ich das als "Digispark" kompliliere funktioniert es. Läuft durch bis zum Schluss mit der Anzeige: "Der Sketch verwendet ..."
Alles fein.

Wenn ich das aber als "ATtiny85" kompliliere fliegen mit abermillionen Fehermeldungen um die Ohren. Hier nur die letzten davon.

C:\Users\orafe\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.4\libraries\Wire\src\utility\twi.c:530:34: error: 'TWSTA' undeclared (first use in this function); did you mean 'TWS3'?
          TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;
                                  ^
C:\Users\orafe\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.8.4\libraries\Wire\src\utility\twi.c:530:46: error: 'TWEN' undeclared (first use in this function); did you mean 'TWINT'?
          TWCR = _BV(TWINT) | _BV(TWSTA)| _BV(TWEN) ;
                                              ^
exit status 1
Fehler beim Kompilieren für das Board ATtiny25/45/85.

Sieht für mich so aus, als würden in der Wire.h lauter undeklarierte Variable verwendet.

Hat jemand eine Idee?

Mein Ziel ist es, das Programm letztlich ganz ohne DigiSpark auf den ATtiny85 zu bekommen.

Den DigiSpark habe ich bisher noch nicht genutzt, allerdings gibt es für den ATtiny85 eine eigene Wire.h, die TinyWireM.h. Evtl. solltest du die verwenden.

1 Like

You are da king! Das war's. Library included und geht. Suuuuper! Danke schön.

Sehr gerne.
Danke für die Rückmeldung.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.