Fórum témák
» Több friss téma |
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.
C nyelvű programozáshoz sok ötlet meríthető a honlapomon található PIC18 és PIC24 tananyagokból.
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.
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.
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.
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.
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).
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. Idézet: Azoknak már a fejben kell lennie... „És melyik szemmel nézzem a programot, és melyikkel az áramkört?” Idézet: Akkor már a válaszomat is látnod kellett: Ízlés és szükséglet dolga.„tudom, hogy páran már kérdezték, de melyik programmal érdemesebb kezdeni, az IAR vagy a CCS4.” Én egyelőre az IAR-hoz készítek mintaprogramokat a cikksorozathoz.
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.
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!
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.
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. Idézet: 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.„Hányszor lehet írni a flash-t károsodás nélkül?” Az MSP430FR5739 FRAM-ja pedig 100 000 000 000 000-szer írható újra.
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.
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.
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
Mégvalami. Ahhoz hogy ez az egész (pwm) müködjön, ahhoz érdemes lenne beforrasztani a kristályt?
A PWM-hez nem kell kristály. A pontos és stabil frekvenciához kell csak.
É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.
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.
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
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.
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.
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
Idézet: 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. „viszont sajnos minden angolul van” Angol-magyar informatikai szakszótár (a keresett szó kezdőbezőjére bökj rá a lap alján!)
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.
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.
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! |
Bejelentkezés
Hirdetés |