Fórum témák
» Több friss téma |
Ha valamelyik portlábat kimenetre állítod, akkor az totem-pole kimenet lesz. Ha bemenetre állítod, akkor pedig tri-state lesz (nem vezérli a kimenetet).
Nem tudom, milyen jellegű a feladat, de azt érdemes megfontolni, hogy az USI perifériával nem oldható-e meg a szembekapcsolási probléma (I2C módban). Az ugyanis nyitott nyelőelektródás (az Open Collector kimenet CMOS megfelelője). Ennél nem gond a szembekapcsolás. Ha az USI perifériával nem oldható meg a probléma, akkor ikrass be egy soros ellenállást (1 kOhm körüli érték), ami korlátozza a szembekapcsolt kimenetek között folyó áramot.
Köszönöm az infót! Így már átlátom a dolgot tejes egészben.
Sziasztok!
Valaki tudna nekem segíteni egy egyszerű program megírásában? Az ADC használatát szeretném megérteni. G2553-ra írnék. Egy poti értékét szeretném beolvasni egy változóba (pl 0-255 tartományban). Majd ezt az értéket felhasználni a LED PWM szabályzására. Megköszönném ha a program agyon lenne kommentelve, hogy mi mit jelent. Neten csak sokkal bonyolultabbakat találtam, amit nem tudtam értelmezni. köszi
PWM dolgok itt gyönyörűen le vannak írva és a kód fel van kommentezve:
Bővebben: Link ADC pedig itt van(angol nyelvű, de szépen végig van vezetve): Bővebben: Link Saját tapasztalatból viszont azt tudom javasolni, hogy az adatlapot is olvasd mellé, mert ha ténylegesen érteni akarod a dolgokat akkor a forrással célravezető. ui.: Bocs hogy nem írtam programot, de ahhoz már nekem késő van.
Ebben a hozzászólásban mutattam egy programot, ami egyszerű mérést végez az ADC-vel, a 2,5 V-os belső referenciát használva.
Ha pedig a tápfesz. a referencia, akkor a mérő fv. így néz ki:
Köszönöm mindkettőtöknek, sokat segítettetek!
Egy kérdés: ADC10SHT_x : itt az x helyére milyen számokat írhatok, és mekkora frekvenciákat jelentenek a számok? Ha egyszer veszünk mintát, mint a programrészletben, akkor erre miért van szükség? Nem elég csak a pillanatnyi értéket beolvasni? chan helyére INCH_x-et kell írni ugye? a függvényt ADC_single_meas(); módon kell meghívni ugye? és a későbbiekben ADC10MEM-ben lesz tárolva az érték, amit hasonlítgathatok? Köszi!
ADC10SHT_x a mintavételezés idejét szabja meg. Én a belső hőmérőt is használtam, ezért a maximumra állítottam. x = 0..3 lehet, bővebben lásd a Family User Guide-ban és a fejléc állományokban!
A függvényt változó = ADC_single_meas(); módon kell hívni, a mért érték ugyanis a fv. visszatérési értéke.
Köszönöm! Rég programoztam már, kicsit megfakultak az emlékek
Az ADC10 sample and hold time talán az egyik legfontosabb a beállításnál. Ennek a lényege, hogy a mérendő feszültséget mintavételezéskor a kontroller kondik segítségével reprodukálja. Viszont ahhoz, hogy ezek egy adott értékre beálljanak meg kell várni azt az időtartamot amíg kisülnek (/feltöltődnek) a valós feszültségszintre, ellenben ha előbb történne a mintavételezés hamis értéket kapnánk. Kisülésüket befolyásolja az áramkör illetve a belső elemek ellenállása. Van erre egy számítási mód JD könyvében, de szerintem fölöslegesen fárasztanálak csak vele. Legegyszerűbb, ha beállítod a legnagyobbra és a belső oszcillátorjával használod (6.3Mhz), ez így is elég gyors lesz valamennyi mérésedhez a kontroller megismerkedése során.
Válasszolva pár kérdésedre: 1. Attól függ mi az órajele az adc-nek és hogy mit állítasz be mintavételezési időnek. 6,3 Mhz esetén a legnagyobb értelemszerűen 6,3Mhz/64ciklus (ez kb 10us várást jelent minden mérésnél). 2. Ez mintavételezési idő. A fennt leírtakból minden következik. Mellesleg itt egy nagyon hasonló program, ahhoz amit szeretnél.
Valaki megtudná mondani, hogy hol találhatóak a regiszterek részletes leírásai MSP430-k esetén?
AVR doksiskban szépen kivan részletezve minden regiszter és funkciója mintakóddal, de mspnél csak felvan sorolva a nevük. 77 oldal 80%a csak elektromos tulajdonságokról szól. pl. ADC10CTL0 bitjeit hol találom mi mi csinál? Köszönöm,
Szia!
Azért van doksi a regiszterekről, csak keresni kell: példa.
Üdv!
Így utólag belenéztem pár programomba és mivel nagyrésze Icserny cikkéből lett ollózva leírom. Szemet szúrt, hogy a két pwm csatornás megoldásnál a "P1IN_bit.P6"-el (P1IN&BIT6) vizsgáljuk a kitöltés aktuális állapotát (lélegző led), ami felettéb zavaró mivel a főprogramban lett beállítva P6 kimenetnek. Nem értem, hogy mi történik a P1IN regiszterrel, ugyanis értékei (,ha ismereteim nem csalnak), programozva általunk nem definiálhatóak. Azaz (digitális állapotában) az határozza meg értékét, hogy mi van a bemeneten. Röviden; nem értem, hogy ez a kifejezés hogy lesz igaz: "if(P1IN_bit.P6)", (ha P1OUT lenne érteném).
A P1IN egy regiszter, ami a lábak logikai szintjét tárolja.
Mindegy hogy azt a P1OUT regiszteren keresztül belülről állítottad, vagy kívülről jövő jelet fogad. A mikrovezérlő adatlapján (nem a FUG-ban!) találsz rajzot az I/O lábak felépítéséről, szépen látszódik, hogy P1IN.x-re P1DIR.x állapotától függően vagy a bementi puffer vagy a kimeneti puffer kapcsolódik rá. Ez a viselkedés egyébként gyártótól függetlenül jellemző a uC-ekre.
Az adatlapban megtaláltam az ábrát, de nem értem. Akkor, ha jól értelmezem a P1IN egy csak olvasható regiszter. Legalábbis én direkt bele nem írhatok, csak ő amit észlel magasat vagy alacsonyat azt megjegyzi az adott portokon. Így viszont eléggé megtévesztő a neve (bár relatív, hogy mi bemenet és mi kimenet).
Köszi!
A P1IN valójában nem regiszter. Amikor ezt a címet adod ki, akkor a kivezetések pillanatnyi állapotát kapuzza be az adatbuszra.
Amelyik portbitet bemenetnek állítottuk, ott külső áramkörök/jelek szabják meg a bemenet állapotát. Amelyik portbitet kimenetnek állítottunk be, ott azt olvashatjuk vissza, hogy mi a kimenet aktuális állapota. Ez a helyzet az általad kérdezett mintaprogramban is: megnézzük, hogy most éppen alacsony vagy magas a kimenet állapota.
C2000 Piccolo LaunchPad
Elérhető a TI webshopban 17$. -Pre-programmed C2000 Piccolo F28027 MCU -Built in isolated XDS100 JTAG Emulator enables real-time in-system programming and debugging via USB -CPU reset button and programmable push button -Enables development on any Piccolo F2802x device -Free unrestricted version of Code Composer Studio integrated development environment (IDE) v5 -Free download of controlSUITE software with examples, libraries, application software and more Megéri benevezni rá?
Olvasd el a C2000 család bemutató dokumentumát, meg nézdd meg mit tud a proci ami rajta van, aztán dönts el hogy szükséged van-e rá
Ez jogos.
De érdekelne, hogy tudása alapján mennyivel jobb/rosszabb más gyártók cuccainál(uC). Esetleg szuperfantasztikus kategória és rohanok megrendelni cucc-e? ; )
Ez egy alsókategóriás 32 bites mikrovezérlő. Nem egy nagy durranás, de az árát megéri.
Valamivel izgalmasabbnak tűnik a The Stellaris ARM Cortex M4F LaunchPad kártya, ami szeptember 25-étől lesz rendelhető. $4.99-os bevezető áron. Bővebben: Link
Köszönöm az infót!
Az Fram-os launchpad infód is jól jött. ; )
Hol olvastad arról, hogy fram-os? Mert én sehol nem találom.
Elírtam.
A TI Experimenters Board (MSP-EXP430FR5739)-ra gondoltam.
Sziasztok
Az alábbi kóodot probáltam leforditani az IAR-ral Bővebben: Link oldalon található video_ text.zip a Launchpad mappában lévő fáljokat simán bemásoltam az IAR project mappába. Forditásnál a video.asm minden sorára hibát irt. Hogy kell egy asm fáljt beilleszteni a kódba? Előre is köszönöm a segjtséget.
Üdv mindenkinek!
Lenne egy ötletem Lanuchpadhoz bár nem tudom mennyire lenne nehéz megcsinálni. Tehát Egy SD kártyát rá lehetne kötni mondjuk a P2-re, amin lenne egy üres txt file. Ugye a G2553-nak van hardveres UART-ja. Meg lehet azt oldani valahogyan, hogy uart-on küldök ki szöveget a kontrollernek, és azt a szöveget belementi a txt fájlba? Plussz még esetleg azt is hogy a launchpad S2 gombjának megnyomásakor a txt fájl teljes tartalmát elküldje uarton? Üdv, kisedison
Szia,
Persze hogy meglehet oldani, rengeteg példakód van neten SD kártyához és tudod irni. Ha nem gép-kontroller között akarod hanem kontroller kontroller akkor ezt hagyd figyelmen kivül: Uart az ugye megy az usbn is csak hozzá kell dugni a géphez és rátenni az UART példakódot, virtuális soros porton persze, de adja a TI a programot. Meg kell nézni, h. a két funkció nem üti e egmást a példakódokban, ha üti akkor kettővel nehezebb dió. kontroller-kontroller között meg szintén példakód összedugod őket és kész.
Engem inkább az a rész érdekel hogy a fogadott adatot (később MAX232-vel, launchpad nélkül) rámentse sd kártyára. az nem világos hogy lehet ezt a kettőt összehozni.
Idézet: „(később MAX232-vel, launchpad nélkül)” Szerintem egy ilyennel, vagy valami hasonló eszközzel jobban jársz, mint a max232-vel. (A MAX232 -őt már lassan el lehet felejteni.) Idézet: „Az nem világos, hogy lehet ezt a kettőt összehozni.” Úgy ahogy leírtad! UART-on fogadod az adatot, és kiírod a fogadott adatot az SD kártyára. Ennyi az egész. Ahogy Augre írta, keresel egy példaprogit az SD írásra, (vagy írsz egyet) és már küldheted is az infót.
Egy példaprogit találtam, de csak maga a C file. Meg azt se tudom hogyan kéne összekötni az SD kártyát a kontrollerrel. Csináltam egy "BoosterPack"-ot amire majd lehet akármit forrasztani, SD foglalatom is van csak a bekötése kérdéses.
|
Bejelentkezés
Hirdetés |