Jump to content


Photo

Setare fuse biti atmega8 in BASCOM


  • Please log in to reply
37 replies to this topic

#16 OFFLINE   vasile eugen

vasile eugen

    Membru avansat

  • Membri
  • PipPipPipPip
  • 2,140 posts
  • Locatie:Loc.Sarmasag Jud.Salaj

Posted 27 November 2011 - 03:29 PM

salutare colegi
as 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?

Cu_reclama

Cu_reclama
  • Membri

#17 OFFLINE   dzyk2000

dzyk2000

    Pasionat

  • Membri
  • PipPip
  • 247 posts
  • Locatie:Ploiesti

Posted 08 February 2016 - 05:53 PM

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.

#18 OFFLINE   nickrvl

nickrvl

    Membru avansat

  • Membri
  • PipPipPipPip
  • 2,341 posts
  • Locatie:Rm Valcea

Posted 08 February 2016 - 10:57 PM

salutare colegi
as 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:

Attached File  Cfuse.jpg   38.59KB   0 downloads



#19 OFFLINE   dzyk2000

dzyk2000

    Pasionat

  • Membri
  • PipPip
  • 247 posts
  • Locatie:Ploiesti

Posted 09 February 2016 - 02:03 AM

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

Attached Files



#20 OFFLINE   Liviu M

Liviu M

    -

  • Membri
  • PipPipPipPipPip
  • 3,077 posts
  • Locatie:In sat cu Doru

Posted 09 February 2016 - 09:29 AM

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.

#21 OFFLINE   nico_2010

nico_2010

    Membru avansat

  • Moderatori
  • 1,736 posts
  • Locatie:Bucuresti

Posted 09 February 2016 - 09:50 AM

@dzyk2000: Setarile pentru fuse-bits sunt:

Low: 0x14

High: 0xD9

 

@vasile eugen:

Low: 0x0E

High: 0xD9



#22 OFFLINE   nickrvl

nickrvl

    Membru avansat

  • Membri
  • PipPipPipPip
  • 2,341 posts
  • Locatie:Rm Valcea

Posted 11 February 2016 - 09:59 PM

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....


Edited by nickrvl, 11 February 2016 - 10:00 PM.


#23 OFFLINE   vasile eugen

vasile eugen

    Membru avansat

  • Membri
  • PipPipPipPip
  • 2,140 posts
  • Locatie:Loc.Sarmasag Jud.Salaj

Posted 11 February 2016 - 10:22 PM

Poate te ajuta:

http://mirley.firlej...ontrolerach_avr

http://qsl.net/yo6pir/images/fuse4.png

http://qsl.net/yo6pir/rtc.html



#24 OFFLINE   PKP98

PKP98

    Avansat la demontat !

  • Membri
  • PipPip
  • 306 posts
  • Locatie:Curtea de Arges

Posted 12 December 2016 - 09:55 PM

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.Attached File  3fUaU.jpg   57.18KB   0 downloads

In acest tabel am ales CKSEL3..1=111,pentru ca eu am 8Mhz,iar din acest tabel  Attached File  startup-times.png   49.13KB   0 downloads 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...L_datasheet.pdf



#25 OFFLINE   Liviu M

Liviu M

    -

  • Membri
  • PipPipPipPipPip
  • 3,077 posts
  • Locatie:In sat cu Doru

Posted 12 December 2016 - 10:07 PM

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

Edited by Liviu M, 12 December 2016 - 10:08 PM.


#26 OFFLINE   PKP98

PKP98

    Avansat la demontat !

  • Membri
  • PipPip
  • 306 posts
  • Locatie:Curtea de Arges

Posted 12 December 2016 - 10:15 PM

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.



#27 OFFLINE   Liviu M

Liviu M

    -

  • Membri
  • PipPipPipPipPip
  • 3,077 posts
  • Locatie:In sat cu Doru

Posted 12 December 2016 - 10:21 PM

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.



#28 OFFLINE   PKP98

PKP98

    Avansat la demontat !

  • Membri
  • PipPip
  • 306 posts
  • Locatie:Curtea de Arges

Posted 12 December 2016 - 10:24 PM

Multumesc mult pentru interes. :ewryt45w



#29 OFFLINE   PKP98

PKP98

    Avansat la demontat !

  • Membri
  • PipPip
  • 306 posts
  • Locatie:Curtea de Arges

Posted 13 December 2016 - 07:09 PM

Nu stie nimeni care este diferenta?



Cu_reclama

Cu_reclama
  • Membri

#30 OFFLINE   nico_2010

nico_2010

    Membru avansat

  • Moderatori
  • 1,736 posts
  • Locatie:Bucuresti

Posted 14 December 2016 - 10:11 AM

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)






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users