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   9 / 139
(#) balux33 hozzászólása Okt 2, 2011 /
 
Sziasztok!
Egy változóban lévő bináris számot hogy tudnék átalakítani decimális számmá hogy kiírhassam a kijelzőre? (0-tól 1001 ig terjed)
A belső hőmérő szenzor értékét akarom kiírni a kijelzőre.
(#) icserny válasza balux33 hozzászólására (») Okt 2, 2011 / 1
 
C nyelvű programozáshoz sok ötlet meríthető a honlapomon található PIC18 és PIC24 tananyagokból.
  1. /** Decimális kiíratás adott számú tizedesjegyre.
  2.     * \param data a kiírandó szám (előjelesen)
  3.     * \param ndigits a kiírandó tizedesek száma
  4.     */
  5.     void outdec(long data, unsigned int ndigits) {
  6.     static char sign, s[12];
  7.     unsigned int i;
  8.             i=0; sign='+';
  9.             if(data<0) { sign='-'; data = -data;}
  10.             do {
  11.                     s[i]=data%10 + '0';
  12.                     data=data/10;
  13.                     i++;
  14.                     if(i==ndigits) {s[i]='.'; i++;}
  15.             } while(data>0);
  16.             lcd_write(sign,1);
  17.             do{
  18.                     lcd_write(s[--i],1);
  19.             } while(i);
  20.     }



Az első paraméter a kiírandó szám (előjeles 32 bites egész), a második paraméter a levágandó tizedesek száma.

Például, ha a feszültség mV egységekben van megadva, akkor outdec(3300,3) hatására +3.300 íródik ki.

Ha a hőmérséklet tizedfokokban adott, akkor
outdec(273,1) hatására +27.3 íródik ki. Természetesen az ADC-ből kiolvasott értéket előbb skálázni kell, hogy tizedfokokra alakítsuk.
(#) szitko hozzászólása Okt 2, 2011 /
 
Sziasztok.
Nagyon megtetsztt nekem is ez a uC és szeretnék csatlakozni eme uC-vel foglalkozók népes táborába, de lenne pár kérdésem.
Rendeltem Én is egy LaunchPad -ot (igaz Én a Farnell -tol mert a Ti.com oldaláról egyszerűen képtelen voltam).Tehát, talán a legfontosabb kérdésem az lenne, hogy mennyire tér el ez a Controller a PIC-től, itt a programfejlesztésre gondolok pontosabban arra, hogy mennyire hasonlít a PIC C és az MSP430G2xx CCS egymásra. (Gondolom asm-ben nem sokan programozzák az MSP430G2xx-t.)
Még lenne egy csomó kérdeésem,de majd ha megjott a LaunchPad.
(#) DecebaL válasza szitko hozzászólására (») Okt 2, 2011 /
 
Hát eléggé eltér a Pic -től főleg az órabeállítás ami szerintem eléggé macerás. Nekem biztos beletelt egy vagy két napomba míg mindenfajta órejelet be tudtam állítani.
A többi nem vészes. Az órabeállítást leszámítva szerintem nagyon egyszerű fejleszteni rá, és elég jók a MSP430G2 uC.
Ha CCS C -ben írtál PIC alá nem fog problémát jelenteni az áttérés.
(#) szitko válasza DecebaL hozzászólására (») Okt 2, 2011 /
 
Köszönöm szépen a választ.
A PIC-et asm-ben programozom, (legalábbis próbálkozom vele(kb. 1 éve) kisebb-nagyobb sikerrel) C-ben nem programozta még semmit, csak próbáltam barátkozni vele, de angol tudás híján nem nagyon értem. Az assembly programozás sokkal egyszerübb számomra, de ahogy nézegettem ezt a mikrovezérlőt és a példaprogramokat mind C-ben vannak, ígyhát elkerülhetetlen a nyelv elsajátítása.
Kösz mégegyszer.
(#) icserny válasza szitko hozzászólására (») Okt 2, 2011 /
 
A PIC-hez képest nagy könnyebbség, hogy nem kell a konfigurációs bitekkel veszkődni. Az órajelek beállítása bonyolult, de ha nem nyúlsz semmihez, akkor is működik a rendszer az alapértelmezett 1- 1,1 MHz-es frekvencián.

A gyári példák ( MSP430G2xx1 mintaprogramok - SLAC463) között találsz assembly nyelvű programokat is. A CCS 4-hez való assembly példákban otthonosan fogod magad érezni, ha PIC24-et programoztál már assembly nyelven.

A C-nek meg majdnem mindegy, hogy milyen mikrovezérlőre írod. A lényeg úgyis a perifériák és regiszterek ismerete, az meg adatlap nyálazás függvénye. A PIC mikrovezérlőkhöz képest nagy különbség az, hogy az adatlapok jószerivel a paraméterekre szorítkoznak, így a regiszterek bitkiosztását és szerepét a MSP430x2xx Family User's Guide (SLAU144H.PDF) tartalmazza. Ezért jobb szemmel az adatlapot, ballal a Family User's Guide-ot nézve lehet összeolvasni az igazságot (amit ugyanis a Family User's Guide ír, abból nem minden vonatkozik az MSP430G2xxx mikrovezérlőkre).
(#) szitko válasza icserny hozzászólására (») Okt 2, 2011 /
 
Köszönöm a választ.

Tetszik nagyon a cikk amit írtál köszönet érte.

Sajnos leragadtam a PIC16f szériánál, úgy gondolta, hogy ha már megy minden továbblépek. Az MSP430g2xx az egyszerűsége miatt (meg a fejlesztőeszközök ára miatt) tetszett meg. (Ha már tanul az ember, tanuljon mindet egyszerre.)

Idézet:
„Ezért jobb szemmel az adatlapot, ballal a Family User's Guide-ot nézve lehet összeolvasni az igazságot”

És melyik szemmel nézzem a programot, és melyikkel az áramkört?

Amúgy, tudom, hogy páran már kérdezték, de melyik programmal érdemesebb kezdeni, az IAR vagy a CCS4.
Feltettem mind a kettőt.
(#) icserny válasza szitko hozzászólására (») Okt 2, 2011 /
 
Idézet:
„És melyik szemmel nézzem a programot, és melyikkel az áramkört?”
Azoknak már a fejben kell lennie...
Idézet:
„tudom, hogy páran már kérdezték, de melyik programmal érdemesebb kezdeni, az IAR vagy a CCS4.”
Akkor már a válaszomat is látnod kellett: Ízlés és szükséglet dolga.

Én egyelőre az IAR-hoz készítek mintaprogramokat a cikksorozathoz.
(#) szitko válasza icserny hozzászólására (») Okt 2, 2011 /
 
Igen tudom a válaszodat, de végigolvasva a fórumot, mindig egy picit több info jött, vagy az IAR, vagy a CCS4 javára.
Mégegyszer köszi mindenkinek a hasznos infókat.
(#) icserny hozzászólása Okt 4, 2011 /
 
Még mindig lehet pályázni fejlesztési ötletekkel ingyenes MSP-EXP430FR5739 kártyára! Ez a Launchpad nagy testvére, s ami különleges benne: a nem felejtő és sokszor újraírható FRAM memória. Pályázzatok!
(#) balux33 hozzászólása Okt 4, 2011 /
 
Sziasztok.
Egy EEPROM-ból olvasok ki adatokat és azt a memóriában tárolom ideiglenesen míg a kijelzőre kiírom.
Az lenne a kérdésem hogyha ezeket az adatokat a flah -ben lévő tömbbe menteném akkor lenne valami baja a UC-nek ? (a RAM ban kevés a hely)
Hányszor lehet írni a flash-t károsodás nélkül?
Üdv.
(#) DecebaL válasza balux33 hozzászólására (») Okt 4, 2011 /
 
Azt nem tudom, hogy hányszor lehet írni a flash -be károsodás nélkül, szerintem nagyon sokszor. Én elég sűrűn mentek a flashbe. Az óra is amit csináltam legutóbb percenként menti az időt a flash-be, hogy ármszünet esetén ne keljen sokat vesződni a beállításokkal.
Milyen EEPROM -bol olvasol? Én most DS1977 (32KB) próbálkozok ma kezdtem el de abba kellett hagynom, remélem holnap lesz rá időm és kész lesz a driver.
(#) icserny válasza balux33 hozzászólására (») Okt 4, 2011 /
 
Idézet:
„Hányszor lehet írni a flash-t károsodás nélkül?”
Adatlap szerint: program/erase endurance = min. 10 000, tipikusan 100 000. Ha szobahőmérsékleten vagy annál hidegebb környezetben írod, akkor lehet számítani a tipikusra.

Az MSP430FR5739 FRAM-ja pedig 100 000 000 000 000-szer írható újra.
(#) balux33 válasza icserny hozzászólására (») Okt 4, 2011 /
 
Hát ez nem valami túl sok ahoz hogy egyfolytában írjak bele a program futása közben, inkább a RAM-ba írom csak erre lett kitalálva
Csak az a baj hogy mire a változók lefoglalják a helyet alig marad hely a tömbnek , főleg a kisebb UC-ek ben amihez az EEPROM-ot használnám.
(#) icserny válasza balux33 hozzászólására (») Okt 4, 2011 /
 
Kapható FRAM memória külön is, 8 lábú tokban, I2C vagy SPI illesztővel. Abba írhatsz orrba-szájba. RAMTRON a gyártója.
(#) bedoweb hozzászólása Okt 6, 2011 /
 
Sziaztok.

jelentem én is LaunchPad felhasználó vagyok . Már lassan két hete szórakozok vele. LCD-re tudok írni, csináltam már fényujságot, és digitális órát is. ADC is sikerült, amit ki is tudtam irni az LCD-re, de hogy teljes legyen a kép tudnom kéne PWM jelek generáni, hiszen a végső célom egy mobil robot.

Szóval PWM jelek. Kerestem neten, ki is próbáltam amit irtak, de egyszerűen nem jön össze. Valaki tudna nekem segíteni?

Előre is köszi
(#) icserny válasza bedoweb hozzászólására (») Okt 6, 2011 /
 
A letölthető MSP430G2xx1 mintaprogramok (SLAC463) között az msp430g2xx1_ta_19.c mintaprogram bemutatja, hogy lehet PWM kimenetet beállítani. A technikai részleteket az MSP430x2xx Family User's Guide tartalmazza.
(#) bedoweb hozzászólása Okt 6, 2011 /
 
Köszi szépen. Akkor mostmár kétszeresen örök hála
(#) bedoweb válasza icserny hozzászólására (») Okt 7, 2011 /
 
Mégvalami. Ahhoz hogy ez az egész (pwm) müködjön, ahhoz érdemes lenne beforrasztani a kristályt?
(#) icserny válasza bedoweb hozzászólására (») Okt 7, 2011 /
 
A PWM-hez nem kell kristály. A pontos és stabil frekvenciához kell csak.
(#) bedoweb hozzászólása Okt 7, 2011 /
 
Értem. egyébként ennél a mintaprogramnál amit mondtál mivel lehet állítani a frekvenciát, vagyis ha rákötök mondjuk egy ledet hogyan tudom elhalványítani meg ilyenek, mert ha mintaprogramot változtatom, az csak villogtatja a ledet, és még csak nem is egységesen.
(#) szitko válasza bedoweb hozzászólására (») Okt 8, 2011 /
 
Azt írtad az előzökben, hogy az ADC értékét sikerült kiírni LCD-re. Az ADC étékét nem a kijelzőre íratod, hanem a PWM értékét (kitöltési tényezőt) vátoztatod vele. Sajnos a C programozást most tanulgatom, ígyhát ebben nem tudok segíteni, csak az elméletben.
(#) kissi válasza szitko hozzászólására (») Okt 8, 2011 /
 
Nem néztem a programot, de attól, hogy valamit állítok valamivel, a kijelzőre kiírathatom bármelyik szereplőt vagy akár mindegyiket ( pl. az ADC értékét )!

Steve
(#) szitko válasza kissi hozzászólására (») Okt 8, 2011 /
 
Bocsi, lehet, hogy rosszul fogalmaztam, Én csak azt szerettem volna mondani "bedoweb"-nek, hogy az ADC-vel tudja állítani a PWM értékét (vagy akár egy gombal stb...), de természetesen közben megjelenhet az LCD-n is, akár mind ket érték.
(#) icserny válasza bedoweb hozzászólására (») Okt 8, 2011 /
 
PWM-nél - ahogy a nevében is benne van - nem a frekvenciát, hanem a kitöltési tényezőt szokás változtatni. PWM= pulse width modulation.

Itt találsz még egy példát: "lélegző LED"

Megjegyzés: Tudom, hogy izgalmas dolog újabb és újabb alkalmazásokat fabrikálni, de szerény véleményem szerint rá kellene szánni egy kis időt a mikrovezérlő felépítésének és működésének tanulmányozására, s akkor kevesebb volna a probléma! S nincs királyi út, a biztos tudásért keményen meg kell dolgozni.
(#) bedoweb válasza icserny hozzászólására (») Okt 8, 2011 /
 
Hát igen ebben teljesen igazad van, viszont sajnos minden angolul van, és olyan szinten nem beszélem az angolt, hogy meg is értsem, minden esetre mi megígérjük, hogy igyekszünk és köszönjük hogy segítesz nekünk
(#) icserny válasza bedoweb hozzászólására (») Okt 8, 2011 /
 
Idézet:
„viszont sajnos minden angolul van”
Nem baj az, legalább azt is megtanulod egy bajjal! Én annak idején egy Real Time operációs rendszer felhasználói leírásán kezdtem az angol és a programozási ismereteket elsajátítani.

Angol-magyar informatikai szakszótár (a keresett szó kezdőbezőjére bökj rá a lap alján!)
(#) balux33 hozzászólása Okt 8, 2011 /
 
Sziasztok!
Időközben sikerült megvalósítanom az I2C kommunikációt , ezen keresztül sikerült egy EEPROM-ot olvasni/írni és egy RTC ic-vel sikerült megoldanom az órát is. Ja és a NOKIA kijelzőt is sikerült életre keltenem.
Most elkezdtem egy projektet ezek kombinációjával de kevés az I/O port.
Az lenne a kérdésem hogy korábban az óra projekt-hez be forrasztottam a kristályt, na most az a 2 port nagyon jól jönne de a kristályt nem akarom kiforrasztani.
Származhat abból valami baj hogyha azt a két lábat gombokhoz bemenetként használom és a kristály bent van?
Persze az órajel nem arról menne.
Üdv.
(#) bedoweb válasza icserny hozzászólására (») Okt 8, 2011 /
 
köszi Egyébként úgy tűnik sikerült befognom ezeket a rakoncátlan pwm jeleket, és azt hiszem nagyjából értem is dolgot.
(#) neogeo2 válasza balux33 hozzászólására (») Okt 8, 2011 /
 
Feltehetőleg nem zavarna be a kristály, de próba cseresznye... szóval tényleg nem nagy dolog kipróbálni.

Esetleg kimenet portbővítés 74hc595 vagy 4094-el? Vagy ha több bemenet kell, akkor 4021. Ha jól emlékszem, a Kónya féle pic-es könyvben van ilyen példa... Ha érdekes lehet, megkeresem neked csak szólj!
Következő: »»   9 / 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