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


Pridružen-a: Tor 16 Jun 2009 18:53 Prispevkov: 391 Aktiv.: 2.00 Kraj: Ljubljana
|
Objavljeno: Sob Okt 15, 2011 3:20 pm Naslov sporočila: ARM9 digitalni izhodi |
|
|
Lep pozdrav.
Uspelo mi je napisati program za LPC3141 (ARM9), kjer GPIO20 definiram kot izhod na katerem je LED, katero znam prižgati in ugasniti preko programiranja registrov GPIO_MODE1_SET, GPIO_MODE1_RESET, GPIO_MODE0_SET IN GPIO_MODE0_RESET.
Zalomi se mi, ko želim na GPIO19, ki je prednastavljen kot visokoimpedančni vhod, opazovati digitalni signal (0V ali +5V), katerega pripeljem na vhod preko tipke. Vhodni signal +5V na GPIO19 naj bi mi prižgal LED na GPIO20 a se to ne zgodi in ne vem zakaj.
Osrednji del programa je if else stavek, kjer opazujem celotni GPIO port preko registra GPIO_PINS (definiran v headerju), v katerem preko BITWISE AND operacije (&) izoliram 13. bit, ki je namenjen GPIO19.
PROGRAM:
Koda: |
#include "lpc3141-ziga.h"
void delay(void);
GPIO_MODE1_SET = 0x4000;
while(1){
if(GPIO_PINS & 0x2000){
GPIO_MODE0_RESET = 0x4000;
}
else{
GPIO_MODE0_SET = 0x4000;
}
}
} |
HEADER DATOTEKA:
Koda: |
#ifndef LPC3141_ZIGA_H_
#define LPC3141_ZIGA_H_
#endif /* LPC3141_ZIGA_H_ */
#define GPIO_MODE0 (*((volatile unsigned int *) 0x130031D0))
#define GPIO_MODE1 (*((volatile unsigned int *) 0x130031E0))
#define GPIO_MODE0_SET (*((volatile unsigned int *) 0x130031D4))
#define GPIO_MODE1_SET (*((volatile unsigned int *) 0x130031E4))
#define GPIO_MODE0_RESET (*((volatile unsigned int *) 0x130031D8))
#define GPIO_MODE1_RESET (*((volatile unsigned int *) 0x130031E8))
#define GPIO_PINS (*((volatile unsigned int *) 0x130031C0)) |
|
|
Nazaj na vrh |
|
 |
71GA Član


Pridružen-a: Tor 16 Jun 2009 18:53 Prispevkov: 391 Aktiv.: 2.00 Kraj: Ljubljana
|
Objavljeno: Ned Okt 16, 2011 2:35 pm Naslov sporočila: |
|
|
Sem rešil problem, ki ni bil povezan s programom. Težava je bila v moji izvedbi analognega stikala, ki je imel ob sklenitvi na izhodu +5V, ob razklenitvi pa anteno namesto 0V hehe.
Sem se lepo naučil, kako težavni so lahko prosti pini, ko se ukvarjamo z tako občutljivimi napravicami kot npr. mikrokrmilniki
LP Žiga |
|
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: 6 dni
Powered by phpBB © 2001, 2005 phpBB Group
|