Fórum témák

» Több friss téma
Fórum » MSP430 mikrovezérlők
 
Témaindító: gomzito, idő: Ápr 21, 2006
Témakörök:
Lapozás: OK   60 / 139
(#) szitko válasza kissi hozzászólására (») Jún 5, 2012 /
 
Amit én kivettem az adatlapból, hogy az INT láb alacsonyra húzásával jelzi, hogyha valamelyik I/O lábon állapotváltozás történt.
Azt viszont nem találtam meg az adatlapban, hogy miért kell először írni azután olvasni, hogy egyáltalán működjön az INT láb. Mert ha ezt nem teszem meg, nem csinál semmit.
(#) szitko hozzászólása Jún 5, 2012 /
 
Bár nem szokásom, de most feadtam a küzdelmet a bill.mátrix, pcf, megszakítás problémámban. (Nem szép, de fusson le kétszer a megszakítás. Nem érdekel.)
Lenne egy újabb kérdésem. Próbálgatom a tömbkezelést, és a mutatókkal is ismerkedem, mert eddig nemnagyon foglalkoztam vele. Tömböket már csináltam, de csak olvastam belőlük. Most viszont írni szeretnék egy tömbbe, ami már sikerült, de nem nagyon értem, hogy mit is csináltam.
  1. char tomb[15]; //létrehozok egy tömböt
  2. char *ptr;         // létrehozok egy mutatót
  3. ....
  4. ptr = tomb;      // a mutató, mutasson a tömbre, de hova mutat?
  5. *(ptr++) = valtozo; // változó másolása a tömbbe, de mivan ha megtelik a tömb?

A fentieken kívül, még az lenne a kérdésem, hogy többdimenziós tömböknél, hasonló kép kell eljárni?
(#) icserny válasza szitko hozzászólására (») Jún 5, 2012 /
 
Van valami komoly okod rá, hogy mutatókat használj az indexelés helyett?
(#) szitko válasza icserny hozzászólására (») Jún 5, 2012 /
 
Nincs. Csak szeretném megérteni a mutatók használatát is. Az indexelést, hogy érted?
(#) kissi válasza szitko hozzászólására (») Jún 5, 2012 /
 
Szia!

  1. char tomb[15];
  2. char i;
  3.  
  4. tomb[i++]=valtozo;


A mutatóval "gyakorlatilag ugyanezt" csinálod az eredményt tekintve, csak nehezebben átlátható ( a mutatódat ráállítottad a tömb kezdő memóriacímére és azzal teszed egyenlővé a változót, a mutató címének a változtatása a tömb típusának megfelelően történik: ha az eleme 1 byte-os, akkor 1-el, ha 2 byte-os (int), akkor 2-vel növeli !).

Remélem érthető, de nézd meg a C alapműben!
Steve
(#) szitko válasza kissi hozzászólására (») Jún 6, 2012 /
 
Érthető, köszönöm szépen a példát.
Idézet:
„de nézd meg a C alapműben!”

Már vagy öt féle C könyvet/online könyvet (PIC programozás C ny..., A C programo...Brian W. K..., tanulgatom a PIC-kwik-et, stb..) olvasok egyszerre, de a tömbökről nem sok infó van. Főleg arról van kevés, hogy ha adatot szeretnénk egy vagy többdimenziós tömbben tárolni.
(#) colosseum hozzászólása Jún 6, 2012 /
 
ha dinamikus tombot akarsz akkor malloc calloc realloc ezeket keresd meg.
(#) kissi válasza szitko hozzászólására (») Jún 6, 2012 /
 
Szia!

Idézet:
„de a tömbökről nem sok infó van. Főleg arról van kevés, hogy ha adatot szeretnénk egy vagy többdimenziós tömbben tárolni.”


Mondjuk itt is olvashatsz róla ( korábban már többen is ajánlották ezt a könyvet, én is ezt olvasgatom): Bővebben: Tömb_Link_1

Bővebben: Többdimenziós_Link_2

Steve
(#) szitko válasza kissi hozzászólására (») Jún 6, 2012 /
 
Ezt a könyvet olvasom, de valami elfuserált kiadásban. Ja és könyv formában. (Lehet, hogy egy kicsit maradi vagyok, vagy csak szeretek olvsani, de nem a monitoron?)

Egy pillanatra (de tényleg, csak egy pill) visszatérve a PCF8574 megszakítás probléára. Megnéztem szkóppal az INT lábat, és az eredmény.... Azt csinálja ami le van írva, és csak egyszer vált szintet. (Pedig reménykedtem benne, hogy a gomb felengedésekor is csinál egy megszakítást. Ezért már tényleg nem tudom, hogy miért fut le kétszer a megszakításom. A szkóp szerint ~1.480ms-ot alacsony az INT láb, a megszakítás, a flag törléséig, meg ~10ms. De ahogy írtam, ígymarad!
(#) kissi válasza szitko hozzászólására (») Jún 6, 2012 /
 

Szia! Én is papíron olvasom, mert szerintem is jobb úgy !

Steve
(#) szitko hozzászólása Jún 9, 2012 /
 
Tud valaki jobb módszert, a kockásfüzet, számológép párosnál, hogy nokia lcd-re (84x48) font-ot készítsek? 10x12-es betüket/számokat szeretnék csinálni, de csak olyan segítséget találtam, ahol nem látom egyben az egészet. Úgy meg elég nehéz szerkeszteni.
(#) DecebaL válasza szitko hozzászólására (») Jún 9, 2012 /
 
Nézd meg a csatolt fájlt, hátha hasznos lesz én szoktam használni.
(#) szitko válasza DecebaL hozzászólására (») Jún 9, 2012 /
 
Köszi. Ez megvan nekem is, de nem tudok vele számokat csinálni. Készítek egy font-ot vele, berakom a programba, és kínai karaktert rajzol ki. Lehet, hogy én vagyok a béna. Pedig mindent az oktatóvideó szerint csinálok.
(#) DecebaL válasza szitko hozzászólására (») Jún 9, 2012 /
 
Én se tudtam anno használni ezt a programot ezért csak megrajzoltam benne a karaktert, hogy ne papíron keljen kínlódnom és "manuálisan számoltam ki és írtam írtam be a programba" Csak számokat csináltam nézd meg hátha tudod használni

  1. const unsigned char szamx[210] =
  2.  // 0
  3.    {0xE0,0xFC,0xFE,0x06,0x03,0x03,0x06,0xFE,0xFC,0xE0,
  4.    0x07,0x3F,0x7F,0x70,0xE0,0xE0,0x70,0x7F,0x3F,0x07,
  5.  // 1
  6.    0x00,0x00,0x00,0x04,0x06,0xFE,0xFF,0xFF,0x00,0x00,
  7.    0x00,0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0x00,0x00,
  8.  
  9.  // 2
  10.    0x00,0x00,0x1C,0x0E,0x07,0x83,0x87,0xFE,0xFE,0x38,
  11.    0x00,0x60,0xFC,0xFE,0xEF,0xE7,0xE3,0xE1,0x60,0x30,
  12.  // 3
  13.    0x00,0x00,0x0E,0x0E,0xC6,0xE6,0xF6,0xBE,0x1E,0x06,
  14.    0x00,0x60,0x70,0xF0,0xE0,0xE0,0xF1,0x7F,0x3F,0x0E,
  15.  // 4
  16.    0x00,0xC0,0xE0,0x78,0x1C,0x0E,0x86,0xE2,0x10,0x00,
  17.    0x06,0x07,0x07,0x06,0x06,0xE6,0xFF,0xFF,0x0E,0x0E,
  18.  // 5
  19.    0x00,0x70,0xF8,0xFE,0xCE,0xC6,0xC6,0x86,0x86,0x00,
  20.    0x00,0x30,0x71,0x71,0xE0,0xE0,0xF0,0x7F,0x3F,0x0E,
  21.  // 6
  22.    0xC0,0xF8,0xFC,0x8E,0x86,0xC7,0xC3,0x87,0x82,0x00,
  23.    0x0F,0x3F,0x7F,0x71,0xE0,0xE0,0x61,0x7B,0x3F,0x0E,
  24.  // 7
  25.    0x00,0x00,0x0E,0x0E,0x06,0x86,0xE6,0x7E,0x1E,0x0E,
  26.    0x00,0x00,0x00,0x38,0x7F,0xFF,0xE1,0x40,0x00,0x00,
  27.  // 8
  28.    0x18,0x7E,0xE6,0xC3,0xC3,0xC3,0xE6,0xBE,0x18,0x00,
  29.    0x18,0x7E,0x7F,0xE1,0xE1,0xE1,0xF3,0x7F,0x7F,0x1C,
  30.  // 9
  31.    0xFC,0xCE,0x06,0x03,0x03,0x07,0x86,0xFE,0xFC,0xE0,
  32.    0x41,0xE3,0xE3,0xE3,0x63,0x73,0x79,0x3F,0x1F,0x03};
  33.  
  34.  
  35. void szamki(char szam, int x, int y)
  36.    {
  37.      
  38.    nokia_gotoxy(x,y);
  39.     char i,ii=20*szam;
  40.      for(i=0;i<10;i++) {  nokia_write_data(szamx[ii+i]); }
  41.    nokia_gotoxy(x,y+1);
  42.     ii=(20*szam)+10;
  43.      for(i=0;i<10;i++)    {     nokia_write_data(szamx[ii+i]);    }    
  44.    
  45.    }


Azóta felhívták a figyelmem, hogy a karakterkészletet kétdimenziós tömbbe is rakhattam volna de, még arra nem jöttem rá, hogy hogy kell nem igazán értem.
(#) DecebaL válasza DecebaL hozzászólására (») Jún 9, 2012 /
 
(#) icserny válasza szitko hozzászólására (») Jún 9, 2012 /
 
Már magam sem tudom,, hogy melyikben láttam futólag, de akkor pont nem érdekelt...
LCD Font Designer: http://radzio.dxp.pl/font/

Bitmap2LCD: http://bitmap2lcd.com/
(#) szitko válasza DecebaL hozzászólására (») Jún 9, 2012 /
 
Fél napi munkám, egy nulla, és egy egyes. (nem vagyok rá büszke)
  1. unsigned char szamok[32]= {
  2.     // 0
  3.     0xf8, 0xfe, 0xff, 0x07, 0x07, 0xff, 0xfe, 0xf8,
  4.     0x00, 0x00, 0x03, 0x07, 0x07, 0x07, 0x07, 0x03,
  5.     // 1
  6.     0x00, 0x00, 0x00, 0xfe, 0xfe, 0xff, 0x00, 0x00,
  7.     0x00, 0x00, 0x00, 0x00, 0x07, 0x07, 0x07, 0x00};

Ezek 9x11-es méretűek, és egyel nagyobbat szeretnék. A tied meg túl nagy, sajnos, pedig jól néznek ki.
Azért köszi, a linket is.
(#) szitko válasza icserny hozzászólására (») Jún 9, 2012 /
 
Köszönöm, mindkettőtöknek. Most összeállt a kép.
A "glcd font..."-al megszerkesztem, és az "LCD Font Desi..."-el megcsináltatom a számítást, és már kész is. (pár nap)
(#) Atielektro hozzászólása Jún 9, 2012 /
 
Sziasztok!

MSP430G2553-as kontrolleren szeretném az ADC-t használni úgy, hogy a Data Transfer modul lementi a kvantált értékeket egy tömbbe. Ebben az esetben az ADC10SA regiszterbe kéne írni az adatok helyének a kezdőcímét.
  1. ADC10SA= &iMinta[0];

Ezt a fenti módon,a tömb kezdőcímének átadásával próbáltam megoldani, de az alábbi fordítási hibát kapom:
Idézet:
„error #515: a value of type "unsigned int *" cannot be assigned to an entity of type "unsigned int"”

Valakinek valami ötlete, hogy hol hibáztam?
(#) Atielektro válasza Atielektro hozzászólására (») Jún 9, 2012 /
 
Ha esetleg számítana, akkor CCS-t használok.
(#) icserny válasza Atielektro hozzászólására (») Jún 9, 2012 /
 
Nézd meg a gyári mintapéldákat! Típuskényszerítést kell alkalmazni:
  1. ADC10SA = (unsigned int)&iMinta[0];
(#) Atielektro válasza icserny hozzászólására (») Jún 10, 2012 /
 
Miután elküldtem a hozzászólást, én is ezzel próbálkoztam, de mindenesetre köszönöm szépen a segítő szándékot!
(#) idlob válasza szitko hozzászólására (») Jún 11, 2012 /
 
Látom Dunát lehet rekeszteni velük, de ez nem tántorított el attól, hogy elkezdjek írni egy betűkészlet számolót. Illetve jelen állapotában inkább csak karakter számolót. De talán hasznát tudod venni, a 0-sodat és 1-esedet sikerült vele reprodukálnom.
.NET 2.0 kell hozzá, de ez általában már be van építve a W* operációs rendszerekbe.
Bővebben: Link
A történethez hozzá tartozik, hogy még sosem használtam GLCD-t, csak a linkelt programok és a minta karakterek alapján totóztam ki, mire lehet szükség. Minden észrevételt örömmel fogadok.
(#) szitko válasza idlob hozzászólására (») Jún 11, 2012 /
 
Nekem tetszik a programod. Köszönet érte. (ha ennyi elég)
(#) moderboy hozzászólása Jún 12, 2012 /
 
Valaki használta már a "komolyabb" kontrollerekben lévő DAC12 12 bites D/A perifériát? Se adatlap se minta driver alapján nem sikerült életre kelteni
(#) colosseum válasza moderboy hozzászólására (») Jún 12, 2012 /
 
nekem sem eddig.
(#) Atielektro hozzászólása Jún 12, 2012 /
 
Sziasztok!

Valakinek sikerült már használni a "math.h" állományban lévő függvényeket? Ha igen, akkor mi a trükkje? Elsősorban a szögfüggvényekre és a gyökvonásra gondolok. A fordító szerint kevés a RAM (MSP430G2553). Ha jól tudom, akkor ilyenkor a fordító csak a "heap" (dinamikusan kezelt) memóriaterületre pakolgatja a függvény belső változóit. Próbálkoztam azzal, hogy drasztikusan megnövelem, de így sem akart lefordulni. Ha tévedtem a "heap"-es dologgal kapcsolatban, akkor nyugodtan javítsatok ki. Nem vagyok túlságosan otthon a fordító működésében.
(#) szikorapéter hozzászólása Jún 12, 2012 /
 
Helló.Lenne egy olyan kérdésem hogy msp 430 g2231-es ic-vel lehet-e ilyen kijelzőt programozni(képet csatoltam)
Adatai:
-3"
-felbontás:240X400pixel
-256000szín
Esetleg valami kisseb animációt megjeleníteni rajta vagy több msp-ic segítségével egy kis ms-dos os számítógép megalkotása.Erre lennék kíváncsi hogy ezek valameike megoldható-e ezzel a kijelzővel.
(#) Grebi válasza Atielektro hozzászólására (») Jún 12, 2012 /
 
Helló! Mivel fordítod a programodat? Mert nekem a IAR Embedded Workbench alatt jelentkezett olyan probléma, hogy a 2kb-os kódlimit lefogott a ramból is területet. Fordítás után oldalt megjelenik a memóriatérkép, összevetve az adatlappal látszódott hogy a ramból is elcsípett és nem csak a kód helyéből.
(#) Grebi válasza szikorapéter hozzászólására (») Jún 12, 2012 /
 
Szerintem nézz utána a kijelző típusának. Legjobb tudomásom szerint ezek tartalmazzák a kijelző vezérlő áramkörét, tehát nem neked kell törődni a pixelek folyamatos frissítésével. Ajánlatos megnézni a vezérlő kódokat és jelszinteket, lábkiosztást megnézni. Szerintem biztosan életre kelthető MSP vezérlővel is.
Következő: »»   60 / 139
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem