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


Pridružen-a: Sre 28 Maj 2008 17:17 Prispevkov: 2221 Aktiv.: 10.67 Kraj: Polhov Gradec
|
Objavljeno: Sre Mar 03, 2010 6:24 pm Naslov sporočila: težava z LM3S8962 |
|
|
Začel sem se zabavati z luminary demo ploščo. Zadal sem si nalogo, da bi lahko spreminjal frekvenco utripanja ledice in le to prikazoval tudi na zaslonu. Uspelo mi je usposobiti fiksno utripanje ledice, pa tudi nek statičen prikaz na zaslonu. Zazdaj poskuša s spodnjim programom pogledati, kdaj pritisnem katero tipko GOR ali DOL (ledica vse čas utripa) in da mi program to prikaže. Vendar mi program prikaže le da je tipka GOR vklopljena (VKL) čeprav ni, za drugo tipko pa niti ne pokaže. Kje sem ga zasral?
Koda: |
#include "inc/lm3s8962.h"
#include "drivers/rit128x96x4.h"
#include <LM3Sxxxx.H> // LM3Sxxxx library definitions
/* Status LED and Push Buttons pin definitions */
#define GOR GPIO_PIN_0 /* PE0 */
#define DOL GPIO_PIN_1 /* PE1 */
#define TIPKA (GOR | DOL )
//*****************************************************************************
//
// zmrkam z STATUS ledico
//
//*****************************************************************************
int
main(void)
{
volatile unsigned long ulLoop;
//
// omogocim STATUS ledico
//
SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOF;
//
// Omogocim ledico
// in digitalni nacin delovanja
//
GPIO_PORTF_DIR_R = 0x01;
GPIO_PORTF_DEN_R = 0x01;
//inicializiram oled
RIT128x96x4Init(1000000);
//
// vecno ponavljam, kaj pa drugega
//
while(1)
{
unsigned char tipke, b;
//
//gledam ker gumb je pritisnjen, ker zelim spreminjati frekvenco utripanja
//
if ((tipke ^ b) & GOR) {
RIT128x96x4StringDraw((b & GOR) ? "IZK" : "VKL", 16*6, 10*5+8, 11);
}
if ((tipke ^ b) & DOL) {
RIT128x96x4StringDraw((b & DOL) ? "IZK" : "VKL", 16*6, 10*6+8, 11);
}
//
// prizgem ledico
//
GPIO_PORTF_DATA_R |= 0x01;
//
// malo pocakam
//
for(ulLoop = 0; ulLoop < 50000; ulLoop++)
{
}
//
//nekaj prikaze na oled
//
RIT128x96x4StringDraw("generiram signal", 18, 24, 15);
//
// izklopim ledico
//
GPIO_PORTF_DATA_R &= ~(0x01);
//
// pa spet malo pocakam
//
for(ulLoop = 0; ulLoop < 50000; ulLoop++)
{
}
}
} |
_________________ LP Gašper |
|
Nazaj na vrh |
|
 |
JohnD Član

Pridružen-a: Sob 08 Nov 2008 20:47 Prispevkov: 103 Aktiv.: 0.51 Kraj: Zasavje
|
Objavljeno: Čet Mar 04, 2010 8:13 am Naslov sporočila: |
|
|
Uff upam, da nisem kaj spregledal, ampak problem jaz vidim v tem, da nikjer ne prebereš stanja GPIO pinov (register GPIODATA + offset porta), kjer se nahajajo tipke.
Mogoče ti bo lažje, če boš uporabljal stellarisove API funkcije za periferijo, ki so dobro dokumentirane in jih je enostavno uporabljati. Dokumentacijo in knjižnice najdeš na priloženem CD-ju ali na spletni strani od LM. Če uporabljaš to knjižnico bi izgledalo branja stanje tipk nekako takole:
Koda: |
tipki=GPIOPinRead(GPIO_PORTD_BASE,GPIO_PIN_0|GPIO_PIN_1); |
Upam, da ti bo kej pomagalo.
|
|
Nazaj na vrh |
|
 |
airwolf Član


Pridružen-a: Sre 28 Maj 2008 17:17 Prispevkov: 2221 Aktiv.: 10.67 Kraj: Polhov Gradec
|
Objavljeno: Čet Mar 04, 2010 11:07 am Naslov sporočila: |
|
|
Pomaga samo toliko, da ne pridem do glavne zanke ampak se že n ekje pred njo zacikla. Nič, grem še malo študirat example in dokumentacijo.
_________________ LP Gašper |
|
Nazaj na vrh |
|
 |
JohnD Član

Pridružen-a: Sob 08 Nov 2008 20:47 Prispevkov: 103 Aktiv.: 0.51 Kraj: Zasavje
|
Objavljeno: Čet Mar 04, 2010 11:36 am Naslov sporočila: |
|
|
No, če ti to nič ne pomaga potem vidim mogoče še eno napako, ki sem jo tudi sam enkrat naredil. Če bližje pogledaš blinky primer.
Koda: |
volatile unsigned long ulLoop;
//
// Enable the GPIO port that is used for the on-board LED.
//
SYSCTL_RCGC2_R = SYSCTL_RCGC2_GPIOB | SYSCTL_RCGC2_GPIOD | SYSCTL_RCGC2_GPIOE;
//
// Do a dummy read to insert a few cycles after enabling the peripheral.
//
ulLoop = SYSCTL_RCGC2_R;
//
// Enable the GPIO pin for the LED (PF0). Set the direction as output, and
// enable the GPIO pin for digital function.
//
GPIO_PORTB_DIR_R = 0x02;
GPIO_PORTB_DEN_R = 0x02; |
Med tem, ko omogočiš port kjer se nahajajo ledice in tem, ko jim določiš smer je neko dummy branje za en cikel, ki omogoči, da se port pravilno inicializira. Tako da ena izmed možnih rešitev je samo kakšen cikel zakasnitve med omogočitvijo in določevanjem smeri.
A ti to mogoče kej bolj pomaga
|
|
Nazaj na vrh |
|
 |
JohnD Član

Pridružen-a: Sob 08 Nov 2008 20:47 Prispevkov: 103 Aktiv.: 0.51 Kraj: Zasavje
|
Objavljeno: Pet Mar 05, 2010 7:58 am Naslov sporočila: |
|
|
A si rešil problem?
|
|
Nazaj na vrh |
|
 |
airwolf Član


Pridružen-a: Sre 28 Maj 2008 17:17 Prispevkov: 2221 Aktiv.: 10.67 Kraj: Polhov Gradec
|
Objavljeno: Pet Mar 05, 2010 3:33 pm Naslov sporočila: |
|
|
Ne še. Upam, da mi uspe danes tekom popoldneva. Če ne bo šlo, bom pa spet opisal simptome in prosil za kakšen nasvet.
_________________ LP Gašper |
|
Nazaj na vrh |
|
 |
airwolf Član


Pridružen-a: Sre 28 Maj 2008 17:17 Prispevkov: 2221 Aktiv.: 10.67 Kraj: Polhov Gradec
|
Objavljeno: Čet Mar 11, 2010 5:52 pm Naslov sporočila: |
|
|
Da ne bo kdo mislil , da sem nad zadevo obupal. Ne, samo lotil sem se je z drugačnim pristopom. Program sem napisal v LabView-u in ga v šoli, kjer je licenčna verzija ARM modula prenesel na čip. Zadeva deluje, samo koda je izredno neoptimizirana in displeja mi še ni uspelo popolnoma usposobiti.
_________________ LP Gašper |
|
Nazaj na vrh |
|
 |
klemenko Član

Pridružen-a: Tor 12 Jan 2010 15:22 Prispevkov: 22 Aktiv.: 0.12 Kraj: Jesenice
|
Objavljeno: Tor Sep 07, 2010 5:49 pm Naslov sporočila: |
|
|
Kupil sem plato LM3S8962.
Sedaj pa hočem en preprost programček dati na to plato (programiram v LabView 8.6), pa mi izpiše naslednjo napako:
Build target 'LabVIEW'
assembling Startup.s...
Startup.s: Error: A9932E: MISSING DEVICE (R003: SECURITY KEY NOT FOUND)
Target not created
Ali bi mi lahko kdo razložil, zakaj se to zgodi in kako le-to odpraviti?
LP,Klemen F.
|
|
Nazaj na vrh |
|
 |
A.B. Član

Pridružen-a: Sob 24 Jan 2009 14:50 Prispevkov: 91 Aktiv.: 0.45
|
Objavljeno: Tor Sep 07, 2010 6:31 pm Naslov sporočila: |
|
|
klemenko:
Verjetno je kaj narobe z licenco
Link
|
|
Nazaj na vrh |
|
 |
klemenko Član

Pridružen-a: Tor 12 Jan 2010 15:22 Prispevkov: 22 Aktiv.: 0.12 Kraj: Jesenice
|
Objavljeno: Tor Sep 07, 2010 6:50 pm Naslov sporočila: |
|
|
Ali se da to licenco pridobiti "zastonj" ali jo je potrebno plačati?
|
|
Nazaj na vrh |
|
 |
webmouse Član


Pridružen-a: Čet 27 Avg 2009 22:27 Prispevkov: 1059 Aktiv.: 5.49 Kraj: Bloška planota
|
Objavljeno: Tor Sep 07, 2010 9:13 pm Naslov sporočila: |
|
|
klemenko je napisal/a: |
Ali se da to licenco pridobiti "zastonj" ali jo je potrebno plačati? |
Upam da ti je zalaufalo - pa poravi kraj bivanja, ker v Butalah je preveč stavi od sreče odvisno
|
|
Nazaj na vrh |
|
 |
klemenko Član

Pridružen-a: Tor 12 Jan 2010 15:22 Prispevkov: 22 Aktiv.: 0.12 Kraj: Jesenice
|
Objavljeno: Čet Sep 09, 2010 10:48 am Naslov sporočila: |
|
|
webmouse je napisal/a: |
...pa poravi kraj bivanja, ker v Butalah je preveč stavi od sreče odvisno  |
Popravljeno.
Drugače sem si pa nekako zrihtal zadevo. Je sicer plačljiva verzija, ampak... Saj znamo malce pobrskati po internetu
Trenutno mi vsaj hoče program, ki sem ga naredil v LabView-u "zbildati", ampak mi na koncu javi neke napake. Bom moral še malo pobrskati zakaj se mi to dogaja. Se pa isto zgodi, če odprem primer iz Examples, ki so namenjeni download-u na ARM 8962...Potem se vse lepo začne Build-ati, na koncu pa javi napako, da je bilo nekaj v procesu ustvarjanja "Build-anja" narobe.
Možno je samo, da imam nekaj narobe nastavljeno...
Če pa kdo kaj več ve o tem, naj pa PROSIM kaj napiše.
LP,Klemen F.
|
|
Nazaj na vrh |
|
 |
airwolf Član


Pridružen-a: Sre 28 Maj 2008 17:17 Prispevkov: 2221 Aktiv.: 10.67 Kraj: Polhov Gradec
|
Objavljeno: Čet Sep 09, 2010 10:54 am Naslov sporočila: |
|
|
Plato sem sicer vrnil, vendar imam nekje navodila, kako tole pravilno zbildati. Ko pridem domov pripnem.
_________________ LP Gašper |
|
Nazaj na vrh |
|
 |
klemenko Član

Pridružen-a: Tor 12 Jan 2010 15:22 Prispevkov: 22 Aktiv.: 0.12 Kraj: Jesenice
|
Objavljeno: Čet Sep 09, 2010 9:53 pm Naslov sporočila: |
|
|
Airwolf, hvala že vnaprej
Ali imaš mogoče kje kakšna navodila ali če mogoče poznaš postopek, kako pravilno nastaviti parametre v LabView-u za programirati plato LM3S8962 preko Etherneta? Bi ti bil zelo hvaležen...
LP,Klemen F.
|
|
Nazaj na vrh |
|
 |
airwolf Član


Pridružen-a: Sre 28 Maj 2008 17:17 Prispevkov: 2221 Aktiv.: 10.67 Kraj: Polhov Gradec
|
Objavljeno: Pet Sep 10, 2010 9:35 pm Naslov sporočila: |
|
|
Navodila za uploadanje.
Opis: |
|
 Download |
Ime datoteke: |
LabVIEW ARM Embedded Module 001.pdf |
Velikost datoteke: |
1.31 MB |
Downloadano: |
6 krat |
_________________ LP Gašper |
|
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: 7 dni
Powered by phpBB © 2001, 2005 phpBB Group
|