ATmega644PA - delay

C,C++,C#

Moderátori: psichac, Moderátori

Používateľov profilový obrázok
Smolák Martin
Stály člen
Stály člen
Príspevky: 272
Dátum registrácie: 11 Sep 2007, 00:00
Bydlisko: Jaroměř
Vek: 29

ATmega644PA - delay

Príspevok od používateľa Smolák Martin » 26 Jan 2013, 19:43

Mám problém se zpožděním u megy644. Do hlavičky píšu

Kód: Vybrať všetko

#include <util/delay.h>
a definuji

Kód: Vybrať všetko

#ifndef F_CPU
#define F_CPU 16000000UL
#endif
a do programu píšu

Kód: Vybrať všetko

_delay_ms(milisekundy);
Například když chci zpoždění 1000ms, tak zpoždění je několikanásobně menší. Nevíte někdo kde je chyba?
0
Martin Smolák

Používateľov profilový obrázok
Peťus
Ultimate člen
Ultimate člen
Príspevky: 3940
Dátum registrácie: 07 Mar 2009, 00:00
Bydlisko: Praha
Vek: 34
Kontaktovať používateľa:

Re: ATmega644PA - delay

Príspevok od používateľa Peťus » 26 Jan 2013, 20:01

a máš i nastavený pojistky na 16MHz?
0
https://chiptron.cz - novinky ze světa elektro (Arduino, Raspberry Pi, STM32, ESP8266, ESP32,...)

Používateľov profilový obrázok
Smolák Martin
Stály člen
Stály člen
Príspevky: 272
Dátum registrácie: 11 Sep 2007, 00:00
Bydlisko: Jaroměř
Vek: 29

Re: ATmega644PA - delay

Príspevok od používateľa Smolák Martin » 26 Jan 2013, 20:31

Peťus napísal:a máš i nastavený pojistky na 16MHz?
Mam nastavené
low = 0xEF
high = 0xD0

to je:
BODLEVEL - DISABLED
OCDEN - FALSE
JTAGEN - FALSE
SPIEN - TRUE
WDTON - FALSE
EESAVE - TRUE
BOOTSZ - 4096W_7000
BOOTRST - TRUE
CKDIV8 - FALSE
CKOUT - FALSE
SUT_CKSEL - EXTXOSC_8MHZ_XX_16KCK_4MS1
0
Martin Smolák

martin63
Ultimate člen
Ultimate člen
Príspevky: 1738
Dátum registrácie: 11 Máj 2008, 00:00
Bydlisko: Námestovo
Vek: 34

Re: ATmega644PA - delay

Príspevok od používateľa martin63 » 26 Jan 2013, 20:31

Keď už je tu takáto téma, tak aký rozdiel je medzi nastaveniami týchto poistiek?

Ext. Crystal/Resonator High Freq.; Start-up time 16K CK + 0 ms; [CKSEL=1111 SUT=01]
Ext. Crystal/Resonator High Freq.; Start-up time 16K CK + 4 ms; [CKSEL=1111 SUT=10]
Ext. Crystal/Resonator High Freq.; Start-up time 16K CK + 64 ms; [CKSEL=1111 SUT=11]
0
Naposledy upravil/-a martin63 v 26 Jan 2013, 20:44, upravené celkom 4 krát.

Používateľov profilový obrázok
Peťus
Ultimate člen
Ultimate člen
Príspevky: 3940
Dátum registrácie: 07 Mar 2009, 00:00
Bydlisko: Praha
Vek: 34
Kontaktovať používateľa:

Re: ATmega644PA - delay

Príspevok od používateľa Peťus » 26 Jan 2013, 20:32

SUT_CKSEL - EXTXOSC_8MHZ_XX_16KCK_4MS1
0
https://chiptron.cz - novinky ze světa elektro (Arduino, Raspberry Pi, STM32, ESP8266, ESP32,...)

martin63
Ultimate člen
Ultimate člen
Príspevky: 1738
Dátum registrácie: 11 Máj 2008, 00:00
Bydlisko: Námestovo
Vek: 34

Re: ATmega644PA - delay

Príspevok od používateľa martin63 » 26 Jan 2013, 20:54

martin63 napísal:Keď už je tu takáto téma, tak aký rozdiel je medzi nastaveniami týchto poistiek?

Ext. Crystal/Resonator High Freq.; Start-up time 16K CK + 0 ms; [CKSEL=1111 SUT=01]
Ext. Crystal/Resonator High Freq.; Start-up time 16K CK + 4 ms; [CKSEL=1111 SUT=10]
Ext. Crystal/Resonator High Freq.; Start-up time 16K CK + 64 ms; [CKSEL=1111 SUT=11]
edit
0

Používateľov profilový obrázok
Peťus
Ultimate člen
Ultimate člen
Príspevky: 3940
Dátum registrácie: 07 Mar 2009, 00:00
Bydlisko: Praha
Vek: 34
Kontaktovať používateľa:

Re: ATmega644PA - delay

Príspevok od používateľa Peťus » 26 Jan 2013, 20:56

v tom, kdy se spustí oscilátor (například kvůli ustálení napětí)
0
https://chiptron.cz - novinky ze světa elektro (Arduino, Raspberry Pi, STM32, ESP8266, ESP32,...)

martin63
Ultimate člen
Ultimate člen
Príspevky: 1738
Dátum registrácie: 11 Máj 2008, 00:00
Bydlisko: Námestovo
Vek: 34

Re: ATmega644PA - delay

Príspevok od používateľa martin63 » 26 Jan 2013, 21:12

a čo znamená 16K ?
0

Používateľov profilový obrázok
Smolák Martin
Stály člen
Stály člen
Príspevky: 272
Dátum registrácie: 11 Sep 2007, 00:00
Bydlisko: Jaroměř
Vek: 29

Re: ATmega644PA - delay

Príspevok od používateľa Smolák Martin » 26 Jan 2013, 23:16

zatím jsem zpoždění vyřešil pomocí timeru, ale stejně mě zajímá kde je chyba.
0
Martin Smolák

Používateľov profilový obrázok
Peťus
Ultimate člen
Ultimate člen
Príspevky: 3940
Dátum registrácie: 07 Mar 2009, 00:00
Bydlisko: Praha
Vek: 34
Kontaktovať používateľa:

Re: ATmega644PA - delay

Príspevok od používateľa Peťus » 26 Jan 2013, 23:17

tak v programu máš nastaveno 16MHz a z toho se vypočítává zpoždění, ale procesor ti běží na 8MHz
0
https://chiptron.cz - novinky ze světa elektro (Arduino, Raspberry Pi, STM32, ESP8266, ESP32,...)

Používateľov profilový obrázok
Smolák Martin
Stály člen
Stály člen
Príspevky: 272
Dátum registrácie: 11 Sep 2007, 00:00
Bydlisko: Jaroměř
Vek: 29

Re: ATmega644PA - delay

Príspevok od používateľa Smolák Martin » 26 Jan 2013, 23:22

Peťus napísal:tak v programu máš nastaveno 16MHz a z toho se vypočítává zpoždění, ale procesor ti běží na 8MHz
jenže ve fuse více nastavit nejde, a tento uK umí až 20MHz, tak nevím kde je chyba. Na desce mám 16MHz krystal.

fuse v uK přesněji:

Ext. Crystal Osc. 8.0 - MHz; Start-up time: 16K CK + 4.1ms
0
Martin Smolák

Používateľov profilový obrázok
Sl@Vo
Stály člen
Stály člen
Príspevky: 391
Dátum registrácie: 05 Feb 2008, 00:00
Vek: 31
Kontaktovať používateľa:

Re: ATmega644PA - delay

Príspevok od používateľa Sl@Vo » 27 Jan 2013, 02:34

Tak ci tak chlapi, ak by mal nastavenu frekvenciu vyssiu ako realnu tak by to trvalo dlhsie, nie kratsie..
0
Sl@Vo

Používateľov profilový obrázok
Smolák Martin
Stály člen
Stály člen
Príspevky: 272
Dátum registrácie: 11 Sep 2007, 00:00
Bydlisko: Jaroměř
Vek: 29

Re: ATmega644PA - delay

Príspevok od používateľa Smolák Martin » 27 Jan 2013, 08:23

Sl@Vo napísal:Tak ci tak chlapi, ak by mal nastavenu frekvenciu vyssiu ako realnu tak by to trvalo dlhsie, nie kratsie..
když nastavím např. 10s tak zpoždění je aspoň znatelné- dá se zaznamenat pohledem např. na LED diodu.

zde jsem našel AVR kalkulačku http://www.engbedded.com/fusecalc



Teď mě něco napadlo, nepíše se náhodou F_CPU před knihovnu util/delay.h ?
0
Martin Smolák

Napísať odpoveď