www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

FIO2 na LPC2378

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
PrimozL
Član
Član



Pridružen-a: Tor 21 Mar 2006 10:55
Prispevkov: 404
Aktiv.: 1.72
Kraj: okolica Vipave

PrispevekObjavljeno: Sre Jun 13, 2007 12:09 am    Naslov sporočila:  FIO2 na LPC2378 Odgovori s citatom

Živijo,

Imam Zalokarjevo LPC2378 ploščo. Pri poganjanju spodnjega testnega programal sem opazil čuden pojav. Ko priključim napajanje, delujejo izhodi PORT2.0-PORT2.7 v redu ("migajo"). Če stisnem tipko reset, pa ne "migajo" več. Nasprotno pini na portu 0 delajo OK v obeh primerih. Kaj se zgodi ob "power-on resetu", kar se ob resetu s tipko ne? V opisih napak NXP ne omenja ničesar temu podobnega.


#include "LPC23xx.H" /* LPC23xx/24xx definitions */

#define GPIOM 0x00000001

//------------------------------------------------------------------
void delay (unsigned int N) {
unsigned int i;
for (i=0; i<N; i++) {
}
}

//------------------------------------------------------------------
int main (void) {
IODIR0 = 0x0000000F;
FIO2DIR = 0x000000FF; // P2.0..7 defined as Outputs
FIO2MASK = 0xFFFFFF00;

while (1) { // Loop forever
IOCLR0 = 0x0000000F; // turn on all the LEDs
FIO2CLR = 0x000000FF;
delay(100000);
IOSET0 = 0x0000000F; // turn off all the LEDs
FIO2SET = 0x000000FF;
delay(100000);
}
}
//------------------------------------------------------------------


LP Primož.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
jur
Član
Član



Pridružen-a: Pet 02 Dec 2005 14:45
Prispevkov: 5142
Aktiv.: 21.66
Kraj: [color=zelena]Ljubljana[/color]

PrispevekObjavljeno: Sre Jun 13, 2007 9:12 am    Naslov sporočila:   Odgovori s citatom

Poglej v datasheet od chipa. Ob vklopu se nekateri registri postavijo na določene začetne vrednosti. Ob resetu se tudi zgodi nekaj. Je podobno ampak ne enako, kot ob vklopu.

Različno delovanje programa v primerjavi reseta in vklopa je lahko posledica programske (ne)inicializacije registrov/spremenljivk, kar je v bistvu programska napaka.

V prilogi je slika, ki kaže, da obstojajo razlike. Za vse razlike poglej v datasheet.

Jur



tmp.jpg
 Opis:
 Velikost datoteke:  18.06 KB
 Pogledana:  2202 krat

tmp.jpg


Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
PrimozL
Član
Član



Pridružen-a: Tor 21 Mar 2006 10:55
Prispevkov: 404
Aktiv.: 1.72
Kraj: okolica Vipave

PrispevekObjavljeno: Sre Jun 13, 2007 7:51 pm    Naslov sporočila:   Odgovori s citatom

Živijo,

Tisti "-" v tabeli si predstavljam kot, da reset ne spremeni vrednosti (ki se vzpostavijo ob POR). Kar bi bilo tudi edino logično. V enih primerih inicializacije sem našel, da je pravi način

PINSEL10 = 0;
FIO2DIR = 0x000000FF;
FIO2MASK = 0xFFFFFF00;

in sedaj dela, kot je treba. Prva vrstica je nujna samo v primeru, ko je kratkospojnik "DBG" vstavljen (pull-down na pinu RTCK).

LP Primož.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> ARM arhitektura Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
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: 3 dni


Powered by phpBB © 2001, 2005 phpBB Group