 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
PC_Master Član


Pridružen-a: Pon 17 Mar 2008 20:10 Prispevkov: 319 Aktiv.: 1.52 Kraj: Domžale , Blizu Ljubljane , Poštna 1230
|
Objavljeno: Čet Jul 10, 2008 3:42 pm Naslov sporočila: AtMega 32 Problem |
|
|
Zivijo. Nekako mi je ratalo da je AtMega 32 crknil. Namreč , če nimam externega kristala , mi čipa sploh noče programirati/napiše da ima napačen signature , če pa dam 16 Mhz kristal in dva 22p kondenzatorja , pa lahko nekako programiram , ampak koda ne dela dobro...
Uporabljam WinAvr. Bi se dalo čip erasati in potem naštimati fuse bite preko kode.( V C kodi? )
Aja ko sem rekel da koda čudno dela , Delay sploh ne dela. Sem probal spremeniti od Delay(20) do Delay(20000).
Pa še koda projekta :
Koda: |
#include <avr/io.h>
/// Typedefs //////////
typedef unsigned char u8;
typedef unsigned int u16;
typedef unsigned long u32;
/// Defines ///////////
#define forever 117
#define LEDOFF PORTB |= (1<<4)
#define LEDON PORTB &= ~(1<<4)
/// Prototypes ////////
void InitPorts (void);
void Delay (u32 count);
int main(void)
{
InitPorts();
while (forever)
{
LEDON; Delay(20000);
LEDOFF; Delay(20000);
}
}
void InitPorts(void)
{
DDRB |= 1<<DDB4;
}
void Delay(u32 count)
{
while(count--);
}
|
Problem popravil , nisem imel kondenzatorja za glajenje napetosti 
Nazadnje urejal/a PC_Master Čet Jul 10, 2008 9:33 pm; skupaj popravljeno 1 krat |
|
Nazaj na vrh |
|
 |
trot Član


Pridružen-a: Čet 18 Jan 2007 20:25 Prispevkov: 1282 Aktiv.: 5.72 Kraj: glej fogl
|
Objavljeno: Čet Jul 10, 2008 4:31 pm Naslov sporočila: |
|
|
Fuse bite se lahko spreminja samo s programatorjem, znotraj kode jih ne moreš.
Mislim da je prevajalnik tvojo delay funkcijo optimiral in jo odrezal, ker nima vpliva na spremenljivke zunaj te funkcije. Spremeni direktivo za optimizacijo. _________________ lp, Klemen |
|
Nazaj na vrh |
|
 |
PC_Master Član


Pridružen-a: Pon 17 Mar 2008 20:10 Prispevkov: 319 Aktiv.: 1.52 Kraj: Domžale , Blizu Ljubljane , Poštna 1230
|
Objavljeno: Čet Jul 10, 2008 4:48 pm Naslov sporočila: |
|
|
Ne mislim ,da bi fuse bite definiral v kodi , tako da mi nebi bilo treba kljukati ali to delati preko komande.
Sicer pa , če dam med XTAL1 in XTAL2 kristal ki je bil definiran v makefilu , potem LED dioda samo sveti , če pa dam drugi kristal , potem led dioda "šteka" kot bi imel neko random spremenlijko za LED , če je pa brez kristala , pa LED sploh ne sveti. |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 494 dni
Powered by phpBB © 2001, 2005 phpBB Group
|