vasile eugen Postat Noiembrie 27, 2011 Partajează Postat Noiembrie 27, 2011 salutare colegias dori sa programez atmega 8 si trebuie sa setez pentru quart de 12 mhz,am doar programatorul cel simplu pe serial,care susebiti trebuie setati? Link spre comentariu
dzyk2000 Postat Februarie 8, 2016 Partajează Postat Februarie 8, 2016 Se da o schema cu atmega8 unde am oscilator extern de 8mhz, se poate scoate din montaj sa folosesc oscilatorul intern? Se face strap in locul oscilatorului sau ramane asa? Multumesc. Link spre comentariu
nickrvl Postat Februarie 8, 2016 Partajează Postat Februarie 8, 2016 salutare colegias dori sa programez atmega 8 si trebuie sa setez pentru quart de 12 mhz,am doar programatorul cel simplu pe serial,care susebiti trebuie setati? Nu pot incerca acum pentru 12Mhz insa pentru 16Mhz l-am setat astfel: Link spre comentariu
dzyk2000 Postat Februarie 8, 2016 Partajează Postat Februarie 8, 2016 Se da o schema cu atmega8 unde am oscilator extern de 8mhz, se poate scoate din montaj sa folosesc oscilatorul intern? Se face strap in locul oscilatorului sau ramane asa?Multumesc. Am atasat si schema Link spre comentariu
Liviu M Postat Februarie 9, 2016 Partajează Postat Februarie 9, 2016 In mod normal nu merge direct, trebuie reprogramat microcontrollerul si setet pe oscilator intern (asta daca are oscilator intern de 8 MHz). In locul quarzului nu se monteaza nimic se lasa asa locul gol. Link spre comentariu
nico_2010 Postat Februarie 9, 2016 Partajează Postat Februarie 9, 2016 @dzyk2000: Setarile pentru fuse-bits sunt: Low: 0x14 High: 0xD9 @vasile eugen: Low: 0x0E High: 0xD9 Link spre comentariu
nickrvl Postat Februarie 11, 2016 Partajează Postat Februarie 11, 2016 (editat) Atmega8 poate fi setat pentru oscilator extern de 32.768KHz? am incercat dar nu am reusit de vre-o 10 ori, sa blocat de fiecare data.... Editat Februarie 11, 2016 de nickrvl Link spre comentariu
vasile eugen Postat Februarie 11, 2016 Partajează Postat Februarie 11, 2016 Poate te ajuta: http://mirley.firlej.org/fuse_bity_w_mikrokontrolerach_avr http://qsl.net/yo6pir/images/fuse4.png http://qsl.net/yo6pir/rtc.html Link spre comentariu
PKP98 Postat Decembrie 12, 2016 Partajează Postat Decembrie 12, 2016 Salutare! Am un ATmega8 si un crystal oscillator de 8Mhz.Inainte sa ma apuc sa setez fuse bits am citit pdf de la atmega8 si m-am uitat la cateva tutoriale pana am inteles cum sta treaba.Initial nu am umblat la fuse high bits ,adica nu am modificat CKOPT care are 1. In acest tabel am ales CKSEL3..1=111,pentru ca eu am 8Mhz,iar din acest tabel am ales CKESL0=1 SUT1..0=11 pentru o stabilitate cat mai buna.Deci fuse low bits=0b11111111=0xFF,iar fuse high bits au ramas D9,folosesc Extreme Burner. Am scris fuse bits si spre bucuria mea a mers. Dupa asta in primul tabel pentru CKOPT=0 CKSEL3..1=101,110,111.Am modificat fuse high bits doar pe CKOPT=0 si fuse low bits a ramas tot FF.La CKSEL am ales 111,conteaza ce valoare aleg?Apoi am scris fuse bits si din nou totul a fost ok.Care este diferenta dintre primul caz CKOPT=1 si al doilea caz CKOPT=0.Dupa mine CKOPT=0 este pentru valori mai mari de 8Mhz ,dar pot sa pun si valori mai mici care sunt incluse in intervalul [3.0,8.0]Mhz ,deci care este diferenta? O alta problema este cum calculez timpul real,desi scriu _delay_ms(1000); parca nu este 1s. Am pus un led pe PINB0 ,iar la frecventa de 1Mhz adica fara cristal la _delay_ms(1000); ledul sta aprins/stins mai mult de 5s ,iar la 8Mhz cu crystal parca se apropie de 1s. Deci cum calculez timpul real? Pdf ATmega8:http://www.atmel.com/Images/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf Link spre comentariu
Liviu M Postat Decembrie 12, 2016 Partajează Postat Decembrie 12, 2016 (editat) Deci cum calculez timpul real? Compilatorul nu stie ce setezi tu la fuse si ce oscilator conectezi la microcontroler, asa ca trebuie sa-i spui. La compilatorul pe care-l folosesc eu (XC8, picuri), e nevoie de un define de genul #define _XTAL_FREQ 20000000 //20 MHz Trebuie sa vezi cum functioneaza compilatorul tau. Din ce am gasit cu google, pentru avr-gcc poti scrie in cod #define F_CPU 8000000UL sau poti folosi parametri de compilare: -dF_CPU=8000000UL Editat Decembrie 12, 2016 de Liviu M Link spre comentariu
PKP98 Postat Decembrie 12, 2016 Partajează Postat Decembrie 12, 2016 A doua solutie este buna. #define F_CPU 8000000UL Interesant,o sa incerc sa vad ce iese. Iar acea diferenta CKOPT=0 si CKOPT=1 care este? Multumesc mult. Link spre comentariu
Liviu M Postat Decembrie 12, 2016 Partajează Postat Decembrie 12, 2016 Daca stiam ziceam din prima, dar cum nu am facut nimic cu atmeli (arduino nu se pune, ca ascunde implementarea), nu stiu asa ca decat sa zic prostii, mai bine las pe altii. Link spre comentariu
PKP98 Postat Decembrie 12, 2016 Partajează Postat Decembrie 12, 2016 Multumesc mult pentru interes. Link spre comentariu
PKP98 Postat Decembrie 13, 2016 Partajează Postat Decembrie 13, 2016 Nu stie nimeni care este diferenta? Link spre comentariu
nico_2010 Postat Decembrie 14, 2016 Partajează Postat Decembrie 14, 2016 Putin google search: "When CKOPT is programmed, the Oscillator output will oscillate a full rail-to-rail swing on the output. This mode is suitable when operating in a very noisy environment or when the output from XTAL2 drives a second clock buffer. This mode has a wide frequency range. When CKOPT is unprogrammed, the Oscillator has a smaller output swing. This reduces power consumption considerably. This mode has a limited frequency range and it cannot be used to drive other clock buffers." I.E. la frecvente mici de ceas (sub 1MHz) CKOPT va fi 0, iar la fecvente de ceas peste 1MHz CKOPT va fi 1, iar reciproca nu este adevarata (conform tabel 4 din postarea #24) 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