godFather89 Postat August 9, 2012 Partajează Postat August 9, 2012 Pt. attiny2313, cel mai usor e sa folosesti cristal de quartz de 32.768 pentru clockul general.Pentru novici, se poate codul ? Multumesc !Sincer, nu prea am timp si maine plec in concediu. E ceva mai mult de modificat pentru attin2313 (pe la porturi).In principiu, trebuie sa configurezi attiny-ul sa mearga cu quartz extern de 32.768, decizi unde si cum vin legate afisajele, modifici codul corespunzator si timer-ul. Link spre comentariu
fratello Postat August 9, 2012 Partajează Postat August 9, 2012 CONCEDIU PLACUT !!! Link spre comentariu
dorelb Postat August 9, 2012 Autor Partajează Postat August 9, 2012 Concediu placut tuturor. Si eu merg in concediu, dar am sa mai dschid forumul. @fratello . Daca vrei codul fara clock extern, pentru ATMega8 spune , sau astepti pana se rezolva tot . Am reusit sa blochez un ATMega . Link spre comentariu
fratello Postat August 9, 2012 Partajează Postat August 9, 2012 Fericitilor ! Toti plecati in concediu !!! CONCEDIU PLACUT, TUTUROR !!!========Ar fi interesant de postat aici codurile pentru ceasuri, cu display LED, cu Atmega8/Attiny2313 si cuart extern de 32768Khz, avand in vedere precizia buna care se poate obtine folosind aceasta modalitate. Link spre comentariu
Vizitator Postat August 9, 2012 Partajează Postat August 9, 2012 Am reusit sa blochez un ATMegaDacă mai ai măcar unul neblocat, un breadboard şi o sursă de 12V, se poate debloca. Link spre comentariu
dorelb Postat August 9, 2012 Autor Partajează Postat August 9, 2012 Acum lucrez la un fusebit doctor. Da, am inca trei ATMega8. Astept sugestii.@fratello . Ei, ce sa-i faci, asta e, este luna concediilor. Distractie placuta tuturor, si celor cu concediu, si celor fara concediu (momentan). Link spre comentariu
dorelb Postat August 9, 2012 Autor Partajează Postat August 9, 2012 @RoGeorge. Da, bine, cum sa-l deblochez pe breadboard ? Link spre comentariu
Vizitator Postat August 9, 2012 Partajează Postat August 9, 2012 Găsisem acum câţiva ani pe un site, parcă rusesc, un exemplu de cod pentru deblocare. Ideea era că aveai un ATmega bun şi unul blocat. Le puneai pe breadboard şi făceai câteva legături între ele. Alimentai, apoi puneai 12V pe resetul celui blocat, în timpul ăsta MCU-ul bun scria câţiva octeţi în MCU-ul blocat şi reseta fusebits-ii. Era şi un exemplu de cod pe care îl adaptasem pentru Atmega 8, şi a mers. Din păcate, nu reuşesc să le mai găsesc, nici pe net, nici la mine. Am căutat o grămadă. Sunt sigur că am salvat proiectul, dar nu dau de el. L.E. L-am găsit! //***************************************************************************// File Name : RecoverAVR.c// Version : 0.1// Created : 2010.10.26// Description : Recovering atmega MCU from bad fuses// inspired by http://www.artem.ru/cgi-bin/news?c=v&id=739// Author : RoGeorge// Target : ATmega8 fuses High=0xC9 Low=0xDE current settings// fuses High=0xD9 Low=0xE1 factory default// Compiler : avr-toolchain-installer-3.0.0.240-win32.win32.x86// IDE : AVRStudio4.18SP3// Programmer : PICkit 2 v2.32, PK2AVRISP v0.3, com0com v2.2.2.0, AVRISP// Last Updated : 2010.10.26//***************************************************************************#include <avr/io.h>#define F_CPU 8000000UL#define __HAS_DELAY_CYCLES 0 // if 1 or undefined then the _delay_ms() // will use __builtin_avr_delay_cycles(m) // which produces delays 4 times SHORTER!#include <util/delay.h>#define X_XTAL1 1#define X_OE 2#define X_WR 3#define X_BS1 4#define X_XA0 5#define X_XA1 6#define X_BS2 7 int main() { DDRD|=0b11111110; _delay_ms(5000); // connect reset of bad chip to gnd now // toggle xtal1 at lease 6 times uint8_t i; for(i=0;i<8;i++){ PORTD|=_BV(X_XTAL1); _delay_ms(10); PORTD&=~_BV(X_XTAL1); _delay_ms(10); } // set prog enable pins (pagel is gnd, xa0, xa1, bs1 - zero) // PD4,PD5,PD6 PORTD&=~(_BV(X_XA0)|_BV(X_XA1)|_BV(X_BS1)); PORTD|=_BV(X_WR); // write disables _delay_ms(5000); // connect reset of bad chip to +12 NOW // SET OE HIGH PORTD|=_BV(X_OE); DDRB=0xff; // chip erase //Set XA1 to 1, XA0 to 0. This enables command loading. PORTD|=_BV(X_XA1); PORTD&=~_BV(X_XA0); // Set BS1 to “0”, BS1 - PD4 PORTD&=~_BV(X_BS1); // Set DATA to command PORTB=0b10000000; //Give XTAL1 a positive pulse. This loads the command., XTAL1 - PD1 PORTD|=_BV(X_XTAL1);_delay_ms(10);PORTD&=~_BV(X_XTAL1);_delay_ms(10); // Give WR a negative pulse. This starts the Chip Erase. RDY/BSY goes low. PORTD&=~_BV(X_WR);_delay_ms(10);PORTD|=_BV(X_WR);_delay_ms(10); // wait a bit _delay_ms(1000); // load default data for FUSE low byte //Set XA1 to 1, XA0 to 0. This enables command loading. PORTD|=_BV(X_XA1); PORTD&=~_BV(X_XA0); // Set BS1 to “0”, BS1 - PD4 PORTD&=~_BV(X_BS1); // Set DATA to command PORTB=0b01000000; //Give XTAL1 a positive pulse. This loads the command., XTAL1 - PD1 PORTD|=_BV(X_XTAL1);_delay_ms(10);PORTD&=~_BV(X_XTAL1);_delay_ms(10); // load data PORTD&=~_BV(X_XA1); PORTD|=_BV(X_XA0); PORTB=0b11100001; // DEFAULT VALUE FOR LOW FUSE BYTE PORTD|=_BV(X_XTAL1);_delay_ms(10);PORTD&=~_BV(X_XTAL1);_delay_ms(10); // Set BS1 to “0” and BS2 to “0”. PORTD&=~_BV(X_BS1); PORTD&=~_BV(X_BS2); // Give WR a negative pulse. This starts the Chip Erase. RDY/BSY goes low. PORTD&=~_BV(X_WR);_delay_ms(10);PORTD|=_BV(X_WR);_delay_ms(10); // load default data for HIGH low byte //Set XA1 to 1, XA0 to 0. This enables command loading. PORTD|=_BV(X_XA1); PORTD&=~_BV(X_XA0); // Set BS1 to “0”, BS1 - PD4 PORTD&=~_BV(X_BS1); // Set DATA to command PORTB=0b01000000; //Give XTAL1 a positive pulse. This loads the command., XTAL1 - PD1 PORTD|=_BV(X_XTAL1);_delay_ms(10);PORTD&=~_BV(X_XTAL1);_delay_ms(10); // load data PORTD&=~_BV(X_XA1); PORTD|=_BV(X_XA0); PORTB=0b10011001; // DEFAULT VALUE FOR HIGH FUSE BYTE PORTD|=_BV(X_XTAL1);_delay_ms(10);PORTD&=~_BV(X_XTAL1);_delay_ms(10); // Set BS1 to “0” and BS2 to “0”. PORTD|=_BV(X_BS1); PORTD&=~_BV(X_BS2); // Give WR a negative pulse. This starts the Chip Erase. RDY/BSY goes low. PORTD&=~_BV(X_WR);_delay_ms(10);PORTD|=_BV(X_WR);_delay_ms(10); // done while(1);} Caut şi schema (erau doar sârme). Văd că link-ul din comentarii încă mai există, să văd ce scrie pe acolo, că nu mai ţin minte exact cum făcusem. L.L.E. Google translate zice că pinii se leagă aşa: PB with atmega8 all goes to the PB atmega32 one to one MCU bun - MCU blocat PD2-PD6 - on the PD2-PD6 PD1 on the XTAL1 PD7 to PA0 E şi un film în care se arată şi se explică cum se foloseşte. LCD-ul nu-ţi trebuie. ! Link spre comentariu
Vizitator Postat August 9, 2012 Partajează Postat August 9, 2012 În loc de schemă, am găsit poza asta. În dreapta, pe coloana a 4-a, este un ATmega8 bun. Pe coloanele 2 şi 3 sunt legăturile pentru deblocat un ATmega 8 respectiv un ATmega32. Pe prima coloană sunt denumirile semnalelor. Se foloseşte aşa: Pinul de RESET de la MCU-ul blocat îl vom numi "firul de RESET". Pentru început, firul de RESET nu se conectează, rămâne în aer. Trebuie făcut aşa: - Mai întâi, programezi MCU-ul bun cu codul de mai sus. - Opreşti alimentarea, faci montajul, iar firul de RESET îl laşi în aer. - Pe urmă, cu firul de RESET în aer, alimentezi breadboard-ul. - Ai maxim 5 secunde să iei firul de RESET şi să îl pui la 0V. - Aştepţi 5 secunde, apoi iei firul de RESET şi îl muţi de la 0V la +12V. - Mai aştepţi 5 secunde, scoţi firul de RESET şi îl laşi în aer. - Opreşti alimentarea. Asta e tot, acum ar trebui să se fi deblocat. Link spre comentariu
dorelb Postat August 10, 2012 Autor Partajează Postat August 10, 2012 @RoGeorge. Salut . Nu pot sa-l deblochez . In schema data, la master prima pozitie este un led legat la masa ? Apoi PD7 de la SLAVE se leaga la masa MASTERULUI ? Si mai sunt doua pozitii : + si - , la MASTER nu apare nimic . Link spre comentariu
Vizitator Postat August 10, 2012 Partajează Postat August 10, 2012 Eeee, nu te uita doar la poze. L.L.E. Google translate zice că pinii se leagă aşa: PB with atmega8 all goes to the PB atmega32 one to one MCU bun - MCU blocat PD2-PD6 - on the PD2-PD6 PD1 on the XTAL1 PD7 to PA0 Asta înseamnăPin MCU bun -> (-> adică se leagă la) Pin MCU blocat ------------ PB0 -> PB0 PB1 -> PB1 ... şi tot aşa PB7 -> PB7 PD1 -> XTAL1 PD2 -> PD2 ... şi tot aşa PD6 -> PD6 PD7 -> PA0 GND -> GND VCC -> VCC Restul pinilor îi laşi neconectaţi. Alte piese n-am pus. La mine a mers. Dacă nu-ţi iese, mai bine fă fusebit doctor-ul, pentru că odată făcut, îl ai pentru totdeauna. Link spre comentariu
dorelb Postat August 10, 2012 Autor Partajează Postat August 10, 2012 Nu mere si gata . M-am pus pe treaba. Am decis sa fac un FueBitDoctor , si chiar a iesit bine placa. Link spre comentariu
Vizitator Postat August 10, 2012 Partajează Postat August 10, 2012 Foarte bine a ieşit, e făcută prin metoda foto? Link spre comentariu
dorelb Postat August 10, 2012 Autor Partajează Postat August 10, 2012 Da este facuta prin metoda foto. Acum sunt la stadiul de gaurire. Link spre comentariu
dorelb Postat August 11, 2012 Autor Partajează Postat August 11, 2012 Am reusit sa-l deblochez din prima (ATMega8). Cine nu are un debloctor, sa il faca . Eu am reusit in doua zile. Link spre comentariu
Postări Recomandate
Creează un cont sau autentifică-te pentru a adăuga comentariu
Trebuie să fi un membru pentru a putea lăsa un comentariu.
Creează un cont
Înregistrează-te pentru un nou cont în comunitatea nostră. Este simplu!
Înregistrează un nou contAutentificare
Ai deja un cont? Autentifică-te aici.
Autentifică-te acum