Programovani ATMEGA8 - 16PU
Moderátor: Moderátoři
Programovani ATMEGA8 - 16PU
Prosim o radu snazim se naprogramovat procesor ATMEGA8 -16PU podle navodu na http://robotika.cz/guide/blink/cs na blikani LED.
Vyrobil sem si programovaci kabel podle jejich navodu a nahral program do cipu, to probehlo (aspon myslim) v poradku ale LED neblika jenom sviti a ja nevim kde muze byt chyba a jak ji odstranit. Prosim poradte jak toto vyresit moc dekuji za odpovedi (jakekoliv protoze toto je muj prvni pokus o programovani )
Vyrobil sem si programovaci kabel podle jejich navodu a nahral program do cipu, to probehlo (aspon myslim) v poradku ale LED neblika jenom sviti a ja nevim kde muze byt chyba a jak ji odstranit. Prosim poradte jak toto vyresit moc dekuji za odpovedi (jakekoliv protoze toto je muj prvni pokus o programovani )
Pouzil jsem program WINAVR
v prikazovem radku prikaz make load
a tohle je vypis
avrdude -p m8 -c stk200 -U flash:w:blink.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9307
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "blink.hex"
avrdude: input file blink.hex auto detected as Intel Hex
avrdude: writing flash (108 bytes):
Writing | ################################################## | 100% 0.06s
avrdude: 108 bytes of flash written
avrdude: verifying flash memory against blink.hex:
avrdude: load data flash data from input file blink.hex:
avrdude: input file blink.hex auto detected as Intel Hex
avrdude: input file blink.hex contains 108 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.05s
avrdude: verifying ...
avrdude: 108 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
v prikazovem radku prikaz make load
a tohle je vypis
avrdude -p m8 -c stk200 -U flash:w:blink.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9307
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: reading input file "blink.hex"
avrdude: input file blink.hex auto detected as Intel Hex
avrdude: writing flash (108 bytes):
Writing | ################################################## | 100% 0.06s
avrdude: 108 bytes of flash written
avrdude: verifying flash memory against blink.hex:
avrdude: load data flash data from input file blink.hex:
avrdude: input file blink.hex auto detected as Intel Hex
avrdude: input file blink.hex contains 108 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.05s
avrdude: verifying ...
avrdude: 108 bytes of flash verified
avrdude: safemode: Fuses OK
avrdude done. Thank you.
Píšete, že je to váš první pokus o programování.
Možná že v tom pøípadì není kombinace Winavr-Avrdude nejšastnìjší.
Napø kód ve vašem programu:
bude pravdìpodobnì vyøazen pokud ve Winavr zvolíte optimizaci OS.
(Optimizátor totiž usoudí, že tato funkce nic rozumného nedìlá a
proto ji vynechá).
Jako programátor(software) bych použil radìji Ponyprog.
Podívejte se na mé stránky
http://www.mp222.wz.cz a pokud budete mít nìjaké dotazy, napište na email tam uvedený. Rád je zodpovím.
Možná že v tom pøípadì není kombinace Winavr-Avrdude nejšastnìjší.
Napø kód ve vašem programu:
Kód: Vybrat vše
void delay(unsigned int num)
{
unsigned int i,j;
for (j = 0; j < 1000; j++)
for (i = 0; i < num; i++)
;
}
(Optimizátor totiž usoudí, že tato funkce nic rozumného nedìlá a
proto ji vynechá).
Jako programátor(software) bych použil radìji Ponyprog.
Podívejte se na mé stránky
http://www.mp222.wz.cz a pokud budete mít nìjaké dotazy, napište na email tam uvedený. Rád je zodpovím.
Já k avrdude používám grafické rozhraní "Burn O Mat"
http://www.brischalle.de/ a funguje bez problému.
http://www.brischalle.de/ a funguje bez problému.
Bohuzel ani s programem Ponyprog se my nepovedlo puvodni program rozbehnout.
V programu Ponyprog nejde nastavit muj cip (ATMEGA8 - 16PU nebo jsem to nenasel).
Proto jsem zmenil kod na
a LED zacala blikat.
Takze potrebuju jenom nastavit Winavr-Avrdude (ale nevim jak) aby z kodu nic nevynechaval a fungovala i puvodni verze kde se vola podprogram.
V programu Ponyprog nejde nastavit muj cip (ATMEGA8 - 16PU nebo jsem to nenasel).
Proto jsem zmenil kod na
Kód: Vybrat vše
{
unsigned int j,k;
for (j = 0; j < 300; j++)
for (k = 0; k < 300; k++)
PORTB &= ~(_BV(PB0));
unsigned int i,o;
for (i = 0; i < 300; i++)
for (o = 0; o < 300; o++)
PORTB |= _BV(PB0);
}
Takze potrebuju jenom nastavit Winavr-Avrdude (ale nevim jak) aby z kodu nic nevynechaval a fungovala i puvodni verze kde se vola podprogram.
Dobrý veèer DISTRIKT - dìkuji za reakci, nejspíš na to pøejdu, radí to všichni, pøesto prosím o radu, ..
tím mfile se rozumí makefile?
A pøepsat mám z tohoto pùvodního makefile..(vybírám pár øádku)
PRG = blink
OBJ = blink.o
MCU_TARGET = atmega8
OPTIMIZE = -O2
na tohle:
PRG = blink
OBJ = blink.o
MCU_TARGET = atmega8
OPTIMIZE = nissi
?
Nebo nìjak podobnì?
Prosím o radu...
dìkuji
tím mfile se rozumí makefile?
A pøepsat mám z tohoto pùvodního makefile..(vybírám pár øádku)
PRG = blink
OBJ = blink.o
MCU_TARGET = atmega8
OPTIMIZE = -O2
na tohle:
PRG = blink
OBJ = blink.o
MCU_TARGET = atmega8
OPTIMIZE = nissi
?
Nebo nìjak podobnì?
Prosím o radu...
dìkuji
Ako ?Jak21 píše:Jaký software jste použil pro zapsání programu do èipu?
Pro rychlý test zapište nìjaký krátký textový soubor.
Pøi ètení z èipu musíte dostat stejný text.
Nikdy neøíkejte, že nìco nejde, protože vždy se najde blbec, který neví, že to nejde, a udìlá to !
Úspìch je špatný uèitel. Kvùli nìmu si chytøí lidé myslí, že nemohou prohrát. (Bill Gates)
Úspìch je špatný uèitel. Kvùli nìmu si chytøí lidé myslí, že nemohou prohrát. (Bill Gates)