Aus SatriaWiki
Wechseln zu: Navigation, Suche

Bootloader updaten

https://frottier.wordpress.com/2017/11/12/kein-frust-mit-digispark-clones/

Bootloader upload via ISP

Ist der Bootloader eines Digisparks defekt (z.B. durch ein fehlerhaftes Update), kann man mit einem Arduino UNO einen Bootloader auf den ATtiny85 oder ATtiny167 flashen.

Benötigte Dinge:

  • Arduino UNO
  • avrdude.exe (mit einer config.conf, die einen Eintrag für den ATtiny167 enthält.
  • Arduino IDE > 1.6.5
  • COM Port des Arduino auf 19200 baud.
  • Ein .hex file des passenden Bootloaders.

Vorgehensweise beim DigisparkPro:

ArduinoISP to DigisparkPro.png
  1. Arduino und Digispark verkabeln (s. Bild rechts)
  2. ISP Sketch im IDE laden (Beispiele -> ArduinoISP)
  3. USE_OLD_STYLE_WIRING aktivieren
  4. Sketch auf den Arduino UNO laden. Startet danach automatisch.
  5. avrdude Kommando ausführen (x = COM-Port Nummer):
avrdude -pt167 -carduino -PCOMx -b19200 -Uflash:w:t167_default.hex:i


Quelle: https://digistump.com/wiki/digispark/tutorials/proisp

Code snippets

Change clock speed

  1. define CLOCK_SPEED_16MHZ 0
  2. define CLOCK_SPEED_8MHZ 1
  3. define CLOCK_SPEED_4MHZ 2
  4. define CLOCK_SPEED_2MHZ 3
  5. define CLOCK_SPEED_1MHZ 4
  6. define CLOCK_SPEED_500KHZ 5
  7. define CLOCK_SPEED_250KHZ 6
  8. define CLOCK_SPEED_125KHZ 7

volatile void setClockSpeed(byte speed)
{
  CLKPR = 0b10000000; // enable clock change
  CLKPR = speed;
}

void setup()
{
  setClockSpeed(CLOCK_SPEED_8MHZ);
}