Hoe converteren naar een Trinket te ontgrendelen Digispark ATtiny85 (1 / 8 stap)

Stap 1: Schets voor hoogspanning programmering

Een schets voor Uno is hier beschikbaar voor ontgrendelen ATtiny85:

http://www.rickety.us/wp-content/uploads/2010/03/hv_serial_prog.pde

Code is door Paul Willoughby en originele artikel voor ontgrendelen blote ATtiny85 ICs hier:

http://www.rickety.US/2010/03/Arduino-AVR-High-Voltage-Serial-Programmer/

Schets:

 // AVR High-voltage Serial Programmer// Originally created by Paul Willoughby 03/20/2010 // www.rickety.us slash 2010/03/arduino-avr-high-voltage-serial-programmer/ // Inspired by Jeff Keyzer mightyohm.com // Serial Programming routines from ATtiny25/45/85 datasheet// Desired fuse configuration #define HFUSE 0xDF // Defaults for ATtiny25/45/85 #define LFUSE 0x62 #define RST 13 // Output to level shifter for !RESET from transistor to Pin 1 #define CLKOUT 12 // Connect to Serial Clock Input (SCI) Pin 2 #define DATAIN 11 // Connect to Serial Data Output (SDO) Pin 7 #define INSTOUT 10 // Connect to Serial Instruction Input (SII) Pin 6 #define DATAOUT 9 // Connect to Serial Data Input (SDI) Pin 5 #define VCC 8 // Connect to VCC Pin 8int inByte = 0; // incoming serial byte Computer int inData = 0; // incoming serial byte AVRvoid setup() { // Set up control lines for HV parallel programming pinMode(VCC, OUTPUT); pinMode(RST, OUTPUT); pinMode(DATAOUT, OUTPUT); pinMode(INSTOUT, OUTPUT); pinMode(CLKOUT, OUTPUT); pinMode(DATAIN, OUTPUT); // configured as input when in programming mode // Initialize output pins as needed digitalWrite(RST, HIGH); // Level shifter is inverting, this shuts off 12V // start serial port at 9600 bps: Serial.begin(9600); establishContact(); // send a byte to establish contact until receiver responds }void loop() { // if we get a valid byte, run: if (Serial.available() > 0) { // get incoming byte: inByte = Serial.read(); Serial.println(byte(inByte)); Serial.println("Entering programming Mode\n"); // Initialize pins to enter programming mode pinMode(DATAIN, OUTPUT); //Temporary digitalWrite(DATAOUT, LOW); digitalWrite(INSTOUT, LOW); digitalWrite(DATAIN, LOW); digitalWrite(RST, HIGH); // Level shifter is inverting, this shuts off 12V // Enter High-voltage Serial programming mode digitalWrite(VCC, HIGH); // Apply VCC to start programming process delayMicroseconds(20); digitalWrite(RST, LOW); //Turn on 12v delayMicroseconds(10); pinMode(DATAIN, INPUT); //Release DATAIN delayMicroseconds(300); //Programming mode readFuses(); //Write hfuse Serial.println("Writing hfuse"); shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x40, 0x4C); shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, HFUSE, 0x2C); shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x00, 0x74); shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x00, 0x7C); //Write lfuse Serial.println("Writing lfuse\n"); shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x40, 0x4C); shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, LFUSE, 0x2C); shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x00, 0x64); shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x00, 0x6C); readFuses(); Serial.println("Exiting programming Mode\n"); digitalWrite(CLKOUT, LOW); digitalWrite(VCC, LOW); digitalWrite(RST, HIGH); //Turn off 12v } }void establishContact() { while (Serial.available() <= 0) { Serial.println("Enter a character to continue"); // send an initial string delay(1000); } }int shiftOut2(uint8_t dataPin, uint8_t dataPin1, uint8_t clockPin, uint8_t bitOrder, byte val, byte val1) { int i; int inBits = 0; //Wait until DATAIN goes high while (!digitalRead(DATAIN)); //Start bit digitalWrite(DATAOUT, LOW); digitalWrite(INSTOUT, LOW); digitalWrite(clockPin, HIGH); digitalWrite(clockPin, LOW); for (i = 0; i < 8; i++) { if (bitOrder == LSBFIRST) { digitalWrite(dataPin, !!(val & (1 << i))); digitalWrite(dataPin1, !!(val1 & (1 << i))); } else { digitalWrite(dataPin, !!(val & (1 << (7 - i)))); digitalWrite(dataPin1, !!(val1 & (1 << (7 - i)))); } inBits <<=1; inBits |= digitalRead(DATAIN); digitalWrite(clockPin, HIGH); digitalWrite(clockPin, LOW); } //End bits digitalWrite(DATAOUT, LOW); digitalWrite(INSTOUT, LOW); digitalWrite(clockPin, HIGH); digitalWrite(clockPin, LOW); digitalWrite(clockPin, HIGH); digitalWrite(clockPin, LOW); return inBits; }void readFuses(){ //Read lfuse shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x04, 0x4C); shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x00, 0x68); inData = shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x00, 0x6C); Serial.print("lfuse reads as "); Serial.println(inData, HEX); //Read hfuse shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x04, 0x4C); shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x00, 0x7A); inData = shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x00, 0x7E); Serial.print("hfuse reads as "); Serial.println(inData, HEX); //Read efuse shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x04, 0x4C); shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x00, 0x6A); inData = shiftOut2(DATAOUT, INSTOUT, CLKOUT, MSBFIRST, 0x00, 0x6E); Serial.print("efuse reads as "); Serial.println(inData, HEX); Serial.println(); } 

Gerelateerde Artikelen

Een MP3 converteren naar een OGG-bestand

Een MP3 converteren naar een OGG-bestand

leren hoe gemakkelijk het is om een MP3 audiobestand converteren naar een OGG audio-bestand. Als je deze video Geef commentaar, en schrijf je in voor meer tutorials! Volg mij op Twitter:
Hoe een Laptop LCD converteren naar een externe Monitor.

Hoe een Laptop LCD converteren naar een externe Monitor.

Hallo daar. Dit is mijn eerste InstructableEen tijdje terug ik zat rond en vroeg zich af wat te doen met mijn stroomloos laptop. Ik wist dat de moederbord was gebakken maar alles was nog in werkende staat. Dientengevolge, ik besloten om een externe m
Hoe getallen converteren naar een binair getal

Hoe getallen converteren naar een binair getal

IntroductieDit instructable zal u tonen hoe te converteren van getallen van decimaal, of radix 10, naar een binair getal, of radix 2. Binaire is het cijfer-systeem gebruikt om te geven van gegevens die zijn opgeslagen op computers. Alle gegevens word
Negatieve getallen converteren naar een binair getal

Negatieve getallen converteren naar een binair getal

IntroductieHet binaire talstelsel speelt een centrale rol in hoe de informatie wordt opgeslagen en berekend op computers. Weten hoe het binaire systeem werkt, kan ons helpen begrijpen hoe computers werken, vertalen van input en weergeven van resultat
Elk nummer converteren naar een mp3

Elk nummer converteren naar een mp3

ik geef krediet naar las vegas, hij heeft me laten hoe zien. im gewoon terbeschikkingstelling dit voor iedereen die dom is als mij*Update* dankzij trebuchet03 u m4p bestanden niet overdragen, maar u kunt met mp4-bestandenintroductiepagina van Las veg
RaspTI: Een Vintage Computer (TI-99/4A) converteren naar een toetsenbord RaspPi Workstation - deel 1 -

RaspTI: Een Vintage Computer (TI-99/4A) converteren naar een toetsenbord RaspPi Workstation - deel 1 -

dit is de eerste in een reeks van Instructables waarin het proces van het omzetten van een vintage computer (in dit geval, een TI-99/4A) in een RaspberryPi-werkstation. U moet weten dat het enige wat dat we over de oude computer behouden bent de fysi
Converteren naar een WBU Mister een Dripper kostenloos!

Converteren naar een WBU Mister een Dripper kostenloos!

Als ik eerst mijn gekochte wilde vogels onbeperkt condens vogel bad ik was enthousiast over het idee dat het een mister te trekken vogels had. Echter, ik leerde al snel dat de mist eigenlijk bang de vogels weg. Waarom een mister te hebben als het sch
Een laptop IDE-schijf converteren naar een betaalbare Compact Flash SSD.

Een laptop IDE-schijf converteren naar een betaalbare Compact Flash SSD.

ik heb een paar van oudere laptops die ik gebruik om mijn beveiligingscamera binnen mijn huis controleren, zowel zijn Dell modellen, een is een C400 met een Pentium 3 en de andere is een D600 met een Pentium 4. Beide laptops worden aangedreven op 24
Hoe een gewone 6 volt lantaarn converteren naar een krachtige LED spot Light.

Hoe een gewone 6 volt lantaarn converteren naar een krachtige LED spot Light.

Dit is mijn eerste, geen idee hoe dit moet doen juist zo gelieve, te zacht...Zoals u weet zijn er waarschijnlijk duizenden van deze EVEREADY lantaarns worden weggegooid omdat ze zijn verouderd. Maar een goede kwaliteit LED spot licht met een zeer hog
Een ATX Power Supply converteren naar een normale DC voeding!

Een ATX Power Supply converteren naar een normale DC voeding!

A DC voeding kunnen moeilijk te vinden en duur. Met functies die zijn min of meer getroffen of missen voor wat je nodig hebt.In dit Instructable, zal ik u tonen hoe te zetten van de voeding van een computer in een regelmatige DC power supply met 12,
Een trein tabel converteren naar een tabel van de Zone bouw

Een trein tabel converteren naar een tabel van de Zone bouw

mijn kleine man graag vrachtwagens meer dan treinen, dus ik dacht dat ik zou zijn oude trein converteren tabel iets meer bouw georiënteerde...Stap 1: De oude trein tabel We had dit echt cool trein tafel... die hij nog steeds gebruikt, maar hij echt l
Een hand-held cirkelzaag converteren naar een tabel-zaag

Een hand-held cirkelzaag converteren naar een tabel-zaag

dit instrucable is over het bouwen van een tabel en een hand-held cirkelzaag koppelen aan de tabel. De tabel staat op zaag paarden, dus het is meer van een oppervlak dan een vrijstaande tabel. De tabel bevat een verwisselbare paneel waar de zaag is g
Een laptop scherm converteren naar een slimme scherm.

Een laptop scherm converteren naar een slimme scherm.

Ik had verschillende gebroken laptops rondhangen, dus heb ik besloten dat ik zou maken een slim scherm uit een van hen.ITEMS NODIG:1. de laptop schermIk trok mij uit een oude laptop.2. 2 fotolijsten, groter is dan de laptop schermIk kocht deze twee v
Een papieren patroon converteren naar een Laserable bestand

Een papieren patroon converteren naar een Laserable bestand

als ik korsetten ik heb vaak om zeer zorgvuldig uitgesneden 40 + stukjes weefsel met de hand.  Het is tijdrovend en vervelend, plus snijden van zelfs kleine fouten kunnen oplopen tot grote fouten in de afgewerkte korset.  Aangezien ik heb toegang tot