Fórum témák
» Több friss téma |
A Microchip Applications Library (MAL) tartalmaz egy Plug and Play (virtuális) soros portra kapcsolódó példaalkalmazást. Azzal többnyire megy, hogy lecsatlakoztatom a kártyát (pl. PIC18F4550 FSUSB), majd visszacsatlakoztatom, és a PC alkalmazás automatikusan újra kapcsolódik. Néha azért azt is sikerül fejreállítani...
Természetesen a program használatához meg kell változtatni a VID/PID párost, meg el kell olvasni a licenszfeltételeket. (én a MAL 2012. augusztusi kiadását használom, ebben Visual C++ 2008-hoz való példaprogram van. Megy az ingyenes Express kiadású fordítóval is...)
Ismét köszönöm a segítséget.
Ebben az egész le/fel kapcsolódási problémában, csak azt nem értem, hogy ha megszűnik a kapcsolat, a külső alkalmazás (terminal prg.) miért nem "zárja" le/be az adott COMx portot? Lehet azért, hogy a felhasználó, minél több "szemét" programmal telepakolja a gépét. Mert már az ellenőrző programnak is van ellenőrző programja. Idézet: Ezt nem tudom, de "tervezett leállás" esetén ezt te is megteheted a "kapcsolat bontása" gombra bökve. „a külső alkalmazás (terminal prg.) miért nem "zárja" le/be az adott COMx portot?”
Múltkor találtam ezt a kódot: Bővebben: Link (a gpio.kaltpost.de oldalon).
Esetleg nézd át az interrupt-kezelését, nekem tetszik. Nem feltétlen úgy gondolom, ahogy ott használja a szerző, hanem: - a két, különálló forrásban létrehozol egy-egy kezelőrutint - a főprogramodban pedig az interrupt-kezelést, ami a különálló rutinokkal dolgozik. Nem állítom, hogy nincsenek hátrányai a megoldásnak, de szerintem ötletes.
Ez jónak néz ki, ki is fogom próbálni.
Más: Egy feltételes definíciót szeretnék készíteni (makrót) több utasítással, de az IAR-nak folyamatosan gondja van, vagy a zárójellel, vagy a pontosvesszővel...
Próbáltam a két utasítást a "\" jellel elválasztani, de semmi sem változik. Nem lehet ilyet csinálni? Vagy külön kéne definiálni a két utasítást és utána azt meghívni ebben a makróban?
sziasztok!
Tudna vki (kidolgozott) projekt példát mondani msp430 ez430-rf2500 hoz, amiből kiindulhatnék mikro laboron?
Szerény hülyeségem megosztom veletek...
Egy hetet szenvedtem, a tavaly üzembe helyezett "kazán" vezérlőmmel. Tavaly télen szépen működött, nyáron kikapcsolt, és most október elején, ahogy be lett állítva visszakapcsolt. Volt pár apró hiba a programban, ezért gondoltam, hogy az igazi fűtésszezon előtt kijavítom ezeket. A javítás balul sült el. Mondhatni az egész program meghülyült, semmi nem úgy ment ahogy kell. A legfőbb gond az volt, hogy a 24lc512 írásánál egyszerűen leállt a program, ha pedig bekapcsoltam a WDT, akkor újraindult. Egy hetes keresgetés után, teljesen véletlenül találtam rá a hibára. Készítettem egy "delay_ms" állományt, amit ha kell ms-os várakozás, be tudok csatolni bármilyen programba. A legfőbb gond ott keletkezett, hogy amikor a hibamentesített programot újrafordítottam, akkor nem néztem meg, hogy a beállított frekihez van-e beállítva a delay_ms állomány. A program 16MHz-en megy, a késleltetésben meg csak 1000uS volt beállítva a 16euS helyett, ezért amikor a 24lc512-ben egymást követő írásciklusokra került a sor, a kellő várakozás hiánya miatt leállt az írás, és a program is. Mondjuk a érdekes, hogy a 24lc512 adatlapjában, ha jól értelmeztem, akkor csak pár uS-ot kell várni pl. két írásciklus között. Ezzel ellentétbe pl a teljes törlésnél, laponként 20mS kell neki minimum....
Szervusztok!
Segítségetek szeretném kérni, hogy miért van az, hogy ha a P1_6, P1_7 portokra egy LCD (i2c) van csatlakoztatva, akkor A1, A2, A3, A4, A5 (ADC) használhatatlanná válik. A0 viszont működik de csak az. A1, A2, A3 300-500 közötti "ADC értéken ugrál", viszont abban az esetben ha A4 és A5 értékét is vagy csak azokat szeretném kiíratni LCD-re, akkor csak a háttérvilágítása kapcsol be és karakter egy sem. Szóval ez van. / MSP430G2553 Köszönöm a válaszaitokat. A hozzászólás módosítva: Nov 6, 2013
Ha nem titkos, a program port és i2c inicializáló részét bemásolhatnád. Könnyebben tudnánk segíteni.
Szia!
Én akkor jártam úgy, hogy az ADC meghülyült, amikor viszonylag kisebb impedancián keresztül (~1kOhm) egy analóg bemenetre 5 V DC feszültség került. A processzorom 3.3 V-ról működött. Nem lehet, hogy az I2C busz 5 V-os felhúzása miatt történik ez? Üdv!
Sziasztok.
Én Timer használati gondra gondoltam, de a felhúzó ellenállás is ésszerűnek tűnik bár én 10k-val csináltam P1.6 P1.7 portnál, így mérésem szerint 3,8V van a helyszínen. Itt az extrém program: #include <Wire.h> #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27,20,4); int a4 = P1_4; int a5 = P1_5; int a04; int a05; void setup() { lcd.init(); lcd.backlight(); } void loop() { a04 = analogRead(a4); a05 = analogRead(a5); delay(500); lcd.clear(); lcd.setCursor(0,0); lcd.print("A4 :"); lcd.setCursor(5,0); lcd.print(a04); lcd.setCursor(0,1); lcd.print("A5 :"); lcd.setCursor(5,1); lcd.print(a05); delay(50); }
Ha a tápfeszültséged 3.6 V körül van, akkor az már a clamp-dióda miatt lett 3.8 V, mert kb 0.2-0.3 V körül van a Schottky-dióda nyitófeszültsége. Bár nem írtad le, hogy mekkora pontosan a processzor tápfeszültsége. Én még mindig az I2C-buszra gyanakszom. Próbáld meg, hogy leválasztod a buszról a processzor két lábát, és írasd ki sorosportra az eredményeket. Ha nem hardveres a hiba, akkor továbbra is fenn fog állni.
3,5V-3,6V
Az lenne a célom, hogy p1.6 p1.7 portot i2c lcd vezérlésre használjam, miközben tudom hasznosítani az ADC-ket is pl. joystick, ir szenzor, sonic szenzor stb. Ubuntu van a gépemen, a serial-monitor olyan mint ha nem is lenne mert nem működik. Nem i2c lcd használata esetén pedig 2 helyett egyből 6port oda meg amúgy is ha már van egy ilyenem akkor használnám.
Van 3,3 V-os LCD is (pl. itt). Az I2C nem tudom hoygan van megoldva, de ha végképp nem oldható meg, hogy az is kisebb tápfeszültséggel működjön, akkor léteznek egyszerű szintillesztő kapcsolások is. (Bővebben: Link)
Mellesleg hiába kötöd 5 V-ra a felhúzókat, ha a mikrovezérlő védődiódái úgyis megfogják a jelszintet (mintha egy Zener lenne ott). Ennyi erővel 3,5 V-ra is köthetnéd a felhúzókat, s megszűnik a probléma.
Üdvözlöm!
Igen ez nekem is eszembe jutott, ezért próbáltam ki a launchpad Vcc-re tenni a felhúzókat és ugyanaz volt az eredmény. 3,3V-os és 3,6V-os zenerekkel is próbálkoztam különféle ellenállásokkal amitől 20fillért nem változott a helyzet. Ezek után írtam ide. Reméltem szoftveres úton orvosolható a gond. 3,5V-ról is működik az lcd, csak fényerőben és kontrasztban csúszik el és az ADC-k továbbra is használhatatlanok. Rendeltem Texaséktól sample-t, 2 nap alatt megérkezett azzal is kipróbáltam és ugyanaz. i2c level converter? Egy ilyet 2db "bármilyen" N-es Fettel össze lehet dobni itthon? Vagy ez a 2n7000 a kifejezetten ajánlott típus?
Csatoltam egy egyszerű megoldási lehetőséget, de léteznek cél integrált áramkörök is, én sűrűn használom a Texas Instruments TXB010x sorozatát.
Köszönöm, 2n7000 nincsen itthon de más fettel megpróbálom, hogy mit mutat.
Nem tudom, hogy az LCD-n milyen vezérlővel van megoldva az i2c illesztés, de szerintem annak mennie kell 3,5V-ról.
Már több 5V-os i2c cuccot használtam, de egyik sem kiabált a 3,5V miatt.
Helló.Egy olyan kérdésem lenne hogy van ez a programmegírva és hogy ez egyszerű msp430 mondjuk a G2231-es chipre felírható-e?Vagy valamit változtatni kell rajta?Kérlek segítsetek kicsit kezdő vagyok még a témában.A válaszokat köszönöm előreis.
A különböző perifériabeállításokat biztos, hogy át kell írni a kiválasztott mikrovezérlőre. Gondolok itt pl. a Timer perifériára, I/O beállításokra, stb...
Hát ez azért kevés, hogy eldöntsük. Kéne a többi forrásfájl is. Szerintem amúgy valószínűleg csak a kimenet beállításoknál lehet különbség, de lehet, hogy még abban sem.
Ja, meg a megfelelő kontroller header fájlját include-old be.
Ebben megtalálható az összes file ami a projecthez tartozik elvileg bár MSP-re van ez is megírva,de sajnos nem ehez a vezérlőhöz.Remélem ezekkel a file-okal több sikerrel járunk,próbáltam magam is megkeresni meik portokra lenne a hang kivezetés vagy ha van neki még akkor más egyéb funkció gombja,de gondoltam hogy az a beépített ami a launchpad-on van rajta.
A CPU frekvencia behangolását neked kell megoldani valahogyan, mert a programban szereplő CALBC1_8MHZ és CALDCO_8MHZ konstansok ennél a típusnál gyárilag nincsenek definiálva. Ebben a cikkemben és az adatlapban található információk szerint kell beállítani a DCO-t, utána pedig LED villogtatással és stopperrel ellenőrizni kell.
A timer kezelése elvileg kompatibilis (a fő korlát az, hogy a G2231-ben csak egy Timer és két Capture/Compare csatorna van). A TimerA.c forrásállományban a P6 port 2-es lába és a P5 port 5-ös lába helyett valami mást (pl. P1 port 4-es és 5-ös láb?) kellene matatni. Érintett regiszterek: P6DIR. P6REN, P6OUT, P5DIR. P5REN, P5OUT.
Nekiállok ezek alapján megoldani a vezérlő felprogramozását,köszönöm mindenki segítségét.
Itt le tudsz tölteni példaprogramokat a neked kellő kontrollerre. Itt a listából kiválasztod, majd a C kódok közül kiválasztod, amelyik a DCO-t tudja kalibrálni. Mondjuk kristály, vagy más pontos külső órajel kell hozzá.
Én úgy alakítottam a programomat, hogy futás elején mindig elvégzi a kalibrációt, de nem ír a flash-be. Így bármilyen frekvenciát be lehet pontosan állítani. Icserny, ezt nem neked akartam írni, csak te írtál a kalibrációról. A hozzászólás módosítva: Nov 12, 2013
Üdv mindenkinek!
Egy ismerősöm megajándékozott (1000Ft ellenében ) egy CC3000 wi-fi modullal. A kérdés hogy mit lehetne vele kezdeni msp-vel? Van nagy "böhöm" is 430F5529-esem is akár. Azt nézegettem hogy SPI buszon lehet vele szót érteni, de olyan például lehetséges hogy két ilyen modul között adatokat küldjek/fogadjak lehetőleg egyszerű módon? Az adatlap szerint IPv4 bele van integrálva tehát szoftveresen nekem kellene az adat TX/RX dologhoz az egyiket AccesPoint-ként, a másikat meg kliensként konfigurálni, aminek a host IP címet oszt ki? (kis kiegészítés: Energiát használok, elvileg van benne ehhez wifi könyvtár) A hozzászólás módosítva: Nov 14, 2013
Az Energia mintapéldák között egy Webserver mintapéldát látok (gondolom, MSP430F5529-re).
Az Adafruit holapján van részletes leírás (a középső hasáb alján kell lapozgatni) és többféle mintapélda - természetesen Arduino-ra. Több-kevesebb kínlódás árán biztosan megoldható ezek adaptálása.
A webserveres mintából már sikerült kibogózni pár dolgot hogy mi legyen az ssid, jelszó, ip cím... De arra nem jövök rá hogyan lehetne kliens módban használni. Meg az hogy csak simán adatot küldjek rajta mint mondjuk egy buetooth modullal. Igazából az működik most csak a hatótávval gondok vannak (~150m) ezzel meg el tudnám érni az 500 métert is könnyedén. Egyébként ahogy nézegettem az arduino-s minták nagyon különböznek az energiában találhatótól.
Egy gyors kitérő. Berendeltem egy 3 tengelyes iránytű modult és barátkozok az adatlappal, keresgélek mintákat, stb... Találtam hozzá könyvtárat arduinohoz, a kérdés hogyha berakom energiába akkor ugyan úgy működnie kell elviekben jól gondolom?
|
Bejelentkezés
Hirdetés |