Atmega32L avrstudio nastavenie času – Mikrokontroléry – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Atmega32L avrstudio nastavenie času – Mikrokontroléry – Fórum – Programujte.comAtmega32L avrstudio nastavenie času – Mikrokontroléry – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
juraj
~ Anonymní uživatel
33 příspěvků
7. 3. 2010   #1
-
0
-

Mám takýto problém: následujúci program rozbliká ledky v štýle svetelného hada alebo knigth ridera. Ale problém je že nesedí teoretická praktická dlžka blikania. V prvom riadku mám nastavenu frekvenciu na 8Mhz(mam tam taky kristal). Ked spocitam celkovy cas jedneho cyklu (slucky while(1)) tak vyde 5ms*10*14=700ms. Ale vskutočnosti to trvá približne 5sekúnd. Nemal niekto podbné problémy?

#define F_CPU 8000000UL

#include<avr/io.h>
#include<util/delay.h>
int main(void)
{
DDRA = 255; DDRC = 0;
PORTC = 1;
int i;

while (bit_is_set(PINC, 0))
;
while (1){
PORTA = 254;
for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 253;
for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 251;
for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 247;
for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 239;
for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 223;
for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 191;
for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 127;

for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 191;
for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 223;
for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 239;
for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 247;
for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 251;
for(i = 0; i < 10; i++)
_delay_ms(5);
PORTA = 253;
for(i = 0; i < 10; i++)
_delay_ms(5);
}
}

Nahlásit jako SPAM
IP: 89.173.104.–
Reklama
Reklama
KIIV+42
God of flame
7. 3. 2010   #2
-
0
-

tezko rict.. mozna delis hodiny 8x to by pak na tech 5 sekund i pomerne sedelo

Nahlásit jako SPAM
IP: 77.237.136.–
Program vždy dělá to co naprogramujete, ne to co chcete...
juraj
~ Anonymní uživatel
33 příspěvků
7. 3. 2010   #3
-
0
-

ako by som delil hodiny?

Nahlásit jako SPAM
IP: 89.173.104.–
AB
~ Anonymní uživatel
40 příspěvků
7. 3. 2010   #4
-
0
-

Tvůj avr jede na 1 MHz.

Změň

#define F_CPU 8000000UL

na
#define F_CPU 1000000UL


Nahlásit jako SPAM
IP: 217.115.249.–
juraj
~ Anonymní uživatel
33 příspěvků
8. 3. 2010   #5
-
0
-

Prečo ide na 1Mhz? myslíš kôli SW alebo HW?

Nahlásit jako SPAM
IP: 89.173.104.–
Johanka z Jarku
~ Anonymní uživatel
48 příspěvků
8. 3. 2010   #6
-
0
-

To juraj :

Je to testovane v simulatore alebo realne aj v obvode? Najpravdepodobnejsia zrada bude HW nastavenie fuses. Skuste to prekontrolovat, mozno pomoze http://www.engbedded.com/fusecalc/.

Nahlásit jako SPAM
IP: 91.191.76.–
juraj
~ Anonymní uživatel
33 příspěvků
8. 3. 2010   #7
-
0
-

Je to testovane v real. Na čo tá kalkulacka? a ako by som ju mal použiť? Niečo vypočítať a nahrať do mikroprocesora?

Nahlásit jako SPAM
IP: 158.193.224.–
KIIV+42
God of flame
8. 3. 2010   #8
-
0
-

tak todle bude narocne vysvetlovani, kdyz ani netusis co se da nastavit pomoci "fuses" (u nas zname take jako pojistky procesoru)

Nahlásit jako SPAM
IP: 80.250.1.–
Program vždy dělá to co naprogramujete, ne to co chcete...
juraj
~ Anonymní uživatel
33 příspěvků
9. 3. 2010   #9
-
0
-

to veru netusim - takze som si nieco pozrel, zrejme by som mal nastaviť cez tie fuses ze chcem externý krystal, však?

Nahlásit jako SPAM
IP: 89.173.104.–
Johanka z Jarku
~ Anonymní uživatel
48 příspěvků
9. 3. 2010   #10
-
0
-

Ano, standardne su nastavene fuses(poistky) na 1MHZ interny RC oscilator, a teda, aby ledka blikala tak ako ma, treba aj v SW nastavit frekvenciu na #define F_CPU 1000000UL.

Alebo pomocou fuses(poistiek(napr pomocou toho fusecalc)) nastavite externy krystal a podla toho upravite program.
Pozor, pri nespravnom nastaveni poistiek mozete uzamknut procak, a nebude sa dat preprogramovat, resp mozete vypnut ISP programovanie a ine. Tak opatrne s tym :] (!! nestrasim len upozornujem !!) .

Nahlásit jako SPAM
IP: 91.191.118.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 5 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý