Sari la conținut
ELFORUM - Forumul electronistilor

Probleme de incepatori


Postări Recomandate

Intrebare. am pus firele corespunzator, l-am alimentat prin programator. este prima programare a lui attitiny 13V 10PU. exetreme burnerul nu imi gaseste ic-ul, dar imi gaseste programatorul, iar Khazama AVR Programmer imi da eroarea ca "error setting usbasp isp clock, asta chiar si fara ic pus. Ce e de facut?In prealabil am mai programat cu usbasp-ul si alte atmeluri si a mers, dar acuma nu stiu ce are!Am pierdut deja o juma de zi incercand tot ce se putea, dar el batman. Vreau sa pun un amarat de hex in el si sa mearga....

Posibil blocat pentru programator ISP adica daca ai dezactivat reset-ul din Mc nu mai ai acces la el, incearca cu un alt Mc si fara sa umbli la fuse bits, ca sa-ti iesi din pareri...
Link spre comentariu

Din cate am citit "rasfoind" datasheet-ul circuitului, se poate controla folosind interfata SPI disponibila pe multe uC-uri Atmel. Chiar daca un pachet pentru acel circuit contine 16 biti, se pot trimite si 2 pachete de cate 8, primul pachet fiind bitii 15-8 (bitii de adresa, care selecteaza registrul din MAX in care se scrie) iar urmatorul - bitii 7-0 - ar reprezenta datele. Pentru a afisa pe digitii 0,1,2 cifrele 1,2,3 programul ar fi cam asa:1. initializare porturi2. initializare interfata SPI3. se trimite: 0x0A;0x0F; //selecteaza registrul de intensitate si intensitate maxima4. se trimite: 0x0B;0x02; //selecteaza registrul care "dicteaza" cati digiti functioneaza; se seteaza pentru 3 digiti5. se trimite: 0x09;0xFF; //selecteaza registrul care se ocupa de decodarea datelor; se seteaza pe mod "code-B" pentru toti cei 8 digiti - fiecare byte trimis este afisat ca cifra6. se trimite: 0x0C;0x01; //selecteaza registrul de shut-down; activeaza display-ul7. se trimite: 0x01;0x01; //selecteaza digitul 0; afiseaza cifra 18. se trimite: 0x02;0x02; //selecteaza digitul 1; afiseaza cifra 29. se trimite: 0x03;0x03; //selecteaza digitul 2; afiseaza cifra 3La ultimele 3 puncte a fost o coincidenta faptul ca se trimite de 2 ori acelasi lucru. 0x03;0x0E; afiseaza litera P pe digitul 2, spre exemplu. Daca am timp am sa revin si cu un exemplu concret de cod.

Link spre comentariu

Din cate am citit "rasfoind" datasheet-ul circuitului, se poate controla folosind interfata SPI disponibila pe multe uC-uri Atmel. Chiar daca un pachet pentru acel circuit contine 16 biti, se pot trimite si 2 pachete de cate 8, primul pachet fiind bitii 15-8 (bitii de adresa, care selecteaza registrul din MAX in care se scrie) iar urmatorul - bitii 7-0 - ar reprezenta datele. Pentru a afisa pe digitii 0,1,2 cifrele 1,2,3 programul ar fi cam asa:1. initializare porturi2. initializare interfata SPI3. se trimite: 0x0A;0x0F; //selecteaza registrul de intensitate si intensitate maxima4. se trimite: 0x0B;0x02; //selecteaza registrul care "dicteaza" cati digiti functioneaza; se seteaza pentru 3 digiti5. se trimite: 0x09;0xFF; //selecteaza registrul care se ocupa de decodarea datelor; se seteaza pe mod "code-B" pentru toti cei 8 digiti - fiecare byte trimis este afisat ca cifra6. se trimite: 0x0C;0x01; //selecteaza registrul de shut-down; activeaza display-ul7. se trimite: 0x01;0x01; //selecteaza digitul 0; afiseaza cifra 18. se trimite: 0x02;0x02; //selecteaza digitul 1; afiseaza cifra 29. se trimite: 0x03;0x03; //selecteaza digitul 2; afiseaza cifra 3La ultimele 3 puncte a fost o coincidenta faptul ca se trimite de 2 ori acelasi lucru. 0x03;0x0E; afiseaza litera P pe digitul 2, spre exemplu. Daca am timp am sa revin si cu un exemplu concret de cod.

Multumesc frumos "Ole", incep sa inteleg insa fiind prima data cind folosesc "drivere" LED pun in balanta pretul simplitatea si cit de "gasibile" sint iara dupa ceva sapaturi am gasit urmatoarea combinatie impreuna cu 4511 :post-9441-139829313056_thumb.jpgun mic test soft:afis.zipcred ca e cea mai convenabila obtiune, atit ca nu pot afisa decit cifre...Sau poate i-mi sugerati altceva, in final vor fi 3 digiti.
Link spre comentariu
  • 2 săptămâni mai târziu...
Vizitator Metalshrine

Salut la toata lumea!Am si eu o intrebare de incepator: la un controller Atmel, pe portul pe care se afla ADC, se pot folosi pinii ca si ADC in acelasi timp cu I/O? Mentionez ca am rasfoit mai multe foi de catalog Atmel incercand sa gasesc raspunsul insa nimic foarte clar. Mai mentionez ca am incercat programarea unui ATtiny13 in acest fel si a mers fara probleme. Asta insa nu mi-a lamurit problema, eu dorind sa folosesc aceasta facilitate la un 8535, de exemplu.Multumesc anticipat de vreun raspuns.

Link spre comentariu
Vizitator dmark30

Salut,as avea si eu o intrebare de incepator: cum pot introduce o intarziere de 10 sec. pentru sub-rutina urmatoare:Sub Bklght: Set Portd.7 W = 0 Timer1 = W 'reset timer 1End SubMultumesc,Andrei

Link spre comentariu

Salut la toata lumea!Am si eu o intrebare de incepator: la un controller Atmel, pe portul pe care se afla ADC, se pot folosi pinii ca si ADC in acelasi timp cu I/O? Mentionez ca am rasfoit mai multe foi de catalog Atmel incercand sa gasesc raspunsul insa nimic foarte clar. Mai mentionez ca am incercat programarea unui ATtiny13 in acest fel si a mers fara probleme. Asta insa nu mi-a lamurit problema, eu dorind sa folosesc aceasta facilitate la un 8535, de exemplu.Multumesc anticipat de vreun raspuns.

raspunsul este da pentru a folosi unii pini de pe acel port si restul(altii) i/o dar trebuie sa ii declari separat(cel putin in bascom unde lucrez eu )
Link spre comentariu

Cum fac sa preiau din numarul 764 al variabilei "N" a doua cifra sa zicem si sa o transfer altei variabile, in cazul meu "I"? ma chinui de ceva timp si nu iese...Postez atit schema in Proteus cit si softul care e "varza" dupa multe teste....In Proteus cifra din variabila "I" va fi afisata pe rind in fiecare digit, cel putin teoretic.Daca definesc variabila "I" ca Byte si i-i dau o valoare oricare intre 0 si 9 este afisata corect insa vreau neaparat sa preiau din variabila "N" o cifra.Un pic de ajutor va rog.L.E. Uitase-m de atasament, si softul e in Basic.Afisaj.zip

Link spre comentariu

Nu stiu in ce limbaj doresti dar in C se poate face in felul urmator:

 

while(N) //cat timp N diferit de zero{ c[i]=N%10; //fiecare cifra a lui N este preluata de cate un camp din vectorul c, vector indexat de variabila i  N=N/10;     //N se imparte la 10  i++;          //incrementare pozitie in vector} //aici poti folosi vectorul c pentru a manipula mai usor cifrele

Later Edit: acum am vazut ceva scris pe acolo de Byte...banuiesc ca e legat de Basic. In mod asemanator cred ca se poate implementa codul de mai sus si in Basic. Pentru a afisa cifre, daca compilatorul nu are ceva functii automate, adauga la cifra caracterul 0 (9+'0' => '9' pe LCD sau unde vrei sa afisezi).

Link spre comentariu

Nu stiu in ce limbaj doresti dar in C se poate face in felul urmator:

while(N) //cat timp N diferit de zero{ c[i]=N%10; //fiecare cifra a lui N este preluata de cate un camp din vectorul c, vector indexat de variabila i  N=N/10;     //N se imparte la 10  i++;          //incrementare pozitie in vector} //aici poti folosi vectorul c pentru a manipula mai usor cifrele
Later Edit: acum am vazut ceva scris pe acolo de Byte...banuiesc ca e legat de Basic. In mod asemanator cred ca se poate implementa codul de mai sus si in Basic. Pentru a afisa cifre, daca compilatorul nu are ceva functii automate, adauga la cifra caracterul 0 (9+'0' => '9' pe LCD sau unde vrei sa afisezi).
Respectiva variabila daca i-i dau eu o valoare nu o pot folosi, nu o pot citi, am rezolvat altcumva, ii dau valoare prin ADC si astfel o pot folosi, intr-un fel e bine asa, acum am alta dilema. Intr-un final de fapt vreau sa scot tensiune variabila intre 0 si 5 V, am incercat cu un divizor rezistiv r/2r insa i-mi iese softul prea mare, nu incape in Mc, acum am "descoperit" DAC-urile cum ar fi "max 518" insa nu stiu cum sa-l comand cu un Mc, zice ceva de comunicare seriala....Sau alta idee... si daca ajungem la soft doar in Bascom.
Link spre comentariu

.... "descoperit" DAC-urile cum ar fi "max 518" insa nu stiu cum sa-l comand cu un Mc, zice ceva de comunicare seriala....Sau alta idee... si daca ajungem la soft doar in Bascom.

Ce vad pina acum e ca ATTINY26 pe care vreau sa-l folosesc are SDA si SCLpost-9441-139829318372_thumb.jpg deci pot sal folosesc impreuna cu MAX518post-9441-139829318374_thumb.jpgdar ce si cum i-i "soptesc la ureche" in asa fel sa mearga sa obtin acea tensiune reglabila....
Link spre comentariu
Vizitator xDanuts

Am participat la un proiect in Germania,ce-i de acolo ne-au dat o tema ,ne-au dat toate piesele iar noi a trebuit sa le asamblam pe placa si sa le facem programarea (bineinteles ,programarea cu ajutorului lor) dar ,au trecut ceva luni de cand am plecat de acolo si m-am gandit sa fac ceva cu placa aceasta ,am 3 leduri pe ea .. vreau sa fac programare in AVR Studio 4 (asta am in pc si cu asta am facut programarea in Germania ) si nu prea stiu (deloc) cum ... poate se gaseste cineva sa ma ajute . Multumesc anticipat . Mai am ceva nedumeriri ,dar sa rezolv pe asta si apoi . Microcontrolleru este un ATMEGA32L .

post-58577-139829318384_thumb.jpg

Link spre comentariu

Am participat la un proiect in Germania,ce-i de acolo ne-au dat o tema ,ne-au dat toate piesele iar noi a trebuit sa le asamblam pe placa si sa le facem programarea (bineinteles ,programarea cu ajutorului lor) dar ,au trecut ceva luni de cand am plecat de acolo si m-am gandit sa fac ceva cu placa aceasta ,am 3 leduri pe ea .. vreau sa fac programare in AVR Studio 4 (asta am in pc si cu asta am facut programarea in Germania ) si nu prea stiu (deloc) cum ... poate se gaseste cineva sa ma ajute . Multumesc anticipat . Mai am ceva nedumeriri ,dar sa rezolv pe asta si apoi . Microcontrolleru este un ATMEGA32L .

eu din cate inteleg din poza respectiva cred ca este vorba de o placa de dezvoltare pt AVR-uri de 40 pini compatibili la footprint cu ATMega32, ATMega8535, etc. Placa de dezvoltare pare sa aiba integrat un programator USBasp dar la care lipseste controllerul cu firmware-ul. Daca am dreptate, se poate folosi un ATMega8 pentru completa programatorul. Placa presupun ca are o conector pentru programare AVR ISP (6 sau 10 pini) in caz ca doresti sa folosesti programator extern. Oricum asa cum este acum placa nu poti sa programezi nimic cu ea fara sa intervii asupra ei.

 

L.E. Daca nu ma insel am vazut pe undeva pe net de vanzare exact modelu asta de placa de dezvoltare... Vezi ce scrie pe ea si spune-ne si noua.

Link spre comentariu

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 cont

Autentificare

Ai deja un cont? Autentifică-te aici.

Autentifică-te acum
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui.Termeni de Utilizare si Ghidări