Sida 1 av 2
Hur få snurr på en MEGA32?
Postat: 5 juni 2005, 11:43:41
av Forsgren
Har kört med PIC förut men hade nu tänkt prova en ATMEGA32, har slängt ihop en enkel programmerare som funkar med PonyProg, å den verkar ju göra det den ska. men jag kan inte få microcontrollern att tuffa å gå.. Hur skall "Configuration and Security bits" vara satta?
Som standard verkar dom vara såhär:
BootLock12 = 0
BootLock02 = 0
BootLock01 = 0
Lock2 = 0
Lock1 = 0
OCDEN = 1
JTAGEN = 0
CKOPT = 1
EESAVE = 1
BOOTSZ1 = 0
BOOTSZ0 = 0
BOOTRST = 1
BODLEVEL = 1
BODEN = 1
SUT1 = 1
SUT0 = 0
CKSEL3 = 1
CKSEL2 = 1
CKSEL1 = 1
CKSEL0 = 0
Kör MEGA:n med en kristall på 10 MHz, reset är satt till hög. den har 5V och GND. Vad mer måste man göra?
Någon som har ett fungerande blinkamedenlysdiod-program att skicka till mig kanske (som hex)?
Postat: 5 juni 2005, 12:14:32
av cykze
Ändra inte på några fuse-bitar. Låt dom vara som dom är. Som standard används den interna oscillatorn på 1 MHz. Så någon kristall behöver du inte om du nu inte behöver det.
Blinkaprogram som blinkar hela PORTB:
(Klistra in koden i en vanlig textfil och spara som .hex)
Kod: Markera allt
:100000000C942A000C9445000C9445000C94450077
:100010000C9445000C9445000C9445000C9445004C
:100020000C9445000C9445000C9445000C9445003C
:100030000C9445000C9445000C9445000C9445002C
:100040000C9445000C9445000C9445000C9445001C
:100050000C94450011241FBECFE5D8E0DEBFCDBF14
:1000600010E0A0E6B0E0E2EBF0E002C005900D92F7
:10007000A036B107D9F710E0A0E6B0E001C01D92AC
:10008000A036B107E1F70C9447000C940000CFE5CF
:10009000D8E0DEBFCDBF8FEF87BB84E294EF01973E
:1000A000F1F784E294EF0197F1F788B3809588BB6C
:0200B000F4CF8B
:00000001FF
Postat: 5 juni 2005, 12:21:49
av Forsgren
Men har man sett, det funkar ju!

Tack!
Postat: 5 juni 2005, 12:37:43
av Forsgren
Men inte nu längre, vet inte om jag ändrade på någon fuse-bit, men nu går den inte, kan inte läsa eller programmera den heller.. Helt död..

Postat: 5 juni 2005, 12:39:45
av $tiff
Såja, nu har du lärt dig den hårda vägen att man inte ska leka med fuse-bits för mycket.

Det kan (och gör ofta) resultera i att den inte går att programmera längre.
Postat: 5 juni 2005, 12:47:57
av Forsgren
Men vad är det som händer? Den jag (kanske) ändrade var nog bara CKSEL0..
Hur skall det ställas in för att få den att gå med den externa kristallen?
Postat: 5 juni 2005, 12:56:09
av cykze
Är det så svårt att låta bli att ändra på dom.

Du kan prova att lägga på en extern klocksignal på XTAL1, om du har tillgång till någon typ av oscillator.
Postat: 5 juni 2005, 15:51:53
av Forsgren
Jo, men trodde ju jag ändrade rätt..

oki!! Kopplade in respiratorn(funktionsgenerator) så nu blev det fart på den igen

Tackar för hjälpen!
Har aldrig haft sådana problem med PIC, känns som om dom är lite mer "klantvänliga"

Postat: 6 juni 2005, 11:35:26
av MicaelKarlsson
Man kan klanta sig en hel del med AVR också, gäller bara att välja rätt saker att klanta sig med
Å andra sidan kan det bli enklare att klanta sig om man använder STK500 har jag märkt. Har kört en hel del med den utan att klanta mig en enda gång, fast nån gång skall ju vara den första.......
Postat: 6 juni 2005, 14:02:27
av Hedis
Det är något lurigt med fusebit´s i PonyProg. Jag har för mig att dom är inverterade.
Något du förmodligen kommer stöta på om du inte inaktiverar JTAG är att några pinnar på portb (eller var det C) inte går att använda som utgångar.
Så det kan vara bra att tänka på.
Postat: 6 juni 2005, 15:41:15
av MicaelKarlsson
JTAG på mega32 finns på port C läs mer på sid 58 i daabladet
Postat: 6 juni 2005, 16:01:20
av Forsgren
Hedis skrev:Det är något lurigt med fusebit´s i PonyProg. Jag har för mig att dom är inverterade.
Jopp, jag märkte det, var därför som det inte fungerade som jag ville när jag ändrade dem från första början, ikryssad ruta = "0"..
Postat: 6 juni 2005, 21:45:23
av frejo
Hade du tänkt programmera i C kan jag rekommendera följande lib:
http://hubbard.engr.scu.edu/embedded/avr/avrlib/
Den innehåller dessutom rätt mycket exempelkod.
Postat: 7 juni 2005, 19:45:02
av Forsgren
frejo: Japp, verkar va ett bra lib..
Men vad har jag för fel när det bla står "glcdtest.c:51: warning: implicit declaration of function `outp'" när jag kör Make All?
Postat: 7 juni 2005, 20:36:55
av björn
du har declarerat fel på en variabel på rad 51 i filen glcdtest.c. mer vet jag inte utan att se koden.