Fórum témák
» Több friss téma |
Szaisztok,
Szeretnék a 430h.com oldalon regisztrálni, de nem jön össze az istennek sem. Van egy kérdés amire bármit válaszolok sem akarja elfogadni. Aki regisztrált, segítene nekem megértetni, hogy hogy kell? Bocs a bénázásért.... köszönöm
Nem emlékszem, hogy anno amikor regisztráltam, volt-e bármilyen kérdés ami a reg.-hez kapcsolódott volna. Milyen kérdés?
És műkszik......
Köszönöm Gábor, ez hihetetlen milyen bal...sz vagyok.Üdv.
Most nem ittam még, egyszerűen csak keverem őket, mert ők azok ketten akik a legtöbb hozzászólást teszik az MSP430 topicban. Inkább csendes résztvevő vagyok itt, de azért képben vagyok...
Ezek szerint sikerült. Szerintem jobb ez a fajta spam ellenőrzés, mint az eltorzított krix-kraxok...
Más! Feltelepítettem az IAR 5.52-es 30 napos verzióját a g2955 miatt. Azért az 5.52-est, mert régebben ezt a 30 napos verziót töltöttem le az IAR-tól, de nem foglalkoztam vele. Olyan hibába ütköztem, hogy ha futtatom a megírt programot debug módba, tehát nem soronként léptetem, akkor a stop gombra nyomva leáll az egész IAR program. Mitől lehet ez? Próbálta más típusokkal is, de mindig ez történik, még az f5529LP-vel is.
Sziasztok.
Még egy IAR kérdés. Hosszas szenvedés után sikerült egy led villogtató progit betöltenem az f5529LP-be Energiával. Állandóan a programozóval volt baja, és miután rányomtam az "update programmer"-re hibával kiszállt. Kb. a tizedik update után egyszer csak jó lett, és sikerült betölteni a programom, ami működik is. Az IAR-al, viszont nem sikerül életre keltenem az f5529lp-t. Kiválasztom a mikrovezérlőt, és onnantól megállt a tudományom. Milyen programozót kell telepítenem? Van az IAR+f5529LP-hez valahol leírás, mert én nem találtam túl sok mindent, csak annyit, hogy 5.5-nél nagyobb verzió kell, ami teljesül is.
Pechemre első próbálkozáskor rányomtam az update és közben az asszony egyik háztartási gépe lecsapta az automatát.
A windows nem ismeri fel csak com portként, most rendeltem másikat.
Ne add fel!
Kicsit keresgettem, olvasgattam, és másnál is jelentkeztek ezek a problémák! Tehát nem egyedi eset. Külföldi honlapon olvasva, többen azt ajánlották/írták, hogy 3x 4x-er meg kell ismételni az "update..." folyamatot. Letöltöttem a CCS v5.5.x.sok-sok 0.valamennyit. 90-en napos próba verzióval, egy egszerű led villogtató programot, ahol a P1.0 és a P4.7-es led, sikerült betöltenem, de a debug futtatásakor kiírta, hogy nem ismeri az MSP430f5529-et. Attól függetlenül működik a program és a debug. Most az IAR-al is áttörést értem el. Nekem az IAR... for MSP430 v5.50.2-es verzió van fenn, és olvasataim szerint ez is tudja kezelni az f5529lp-t, de sajnos nem így van. Felraktam az 5.516-os verziót, ami szintén nem kezeli az új LP-t. Az 5.60.3-as (legújabb) verzióval, viszont már szépen, hibamentesen működik minden. Összegezve a dolgokat, most van a gépemen kb 5 verziójú IAR, és 4 különböző CCS. Mindez egy "új" LaunchPad miatt. De azért szép ez a programozásos játék...
Üdv Mindenkinek!
Újabb gödörbe estem. Tehát, beolvasok ADC-vel 4 potméter állást, majd ezeket elküldöm soros porton mondjuk ilyen formában: "x512 y512 a512 b512" vagy csak a 4 értéket egymás után "128 256 512 768". Hogyan lehetne megoldani a vevő oldalon hogy felbontsa az adatot külön a 4 értékre, amit utána szépen külön külön fel lehessen használni? Rádiós átvitel miatt szükséges ez. u.i: Energiát használok, tanulom.
A vevő oldalon össze kell rakni a kapott értékeket.
Tehát, az UART küldés bájtonként történik, nem ismerem az Energia soros függvényét!, ami annyit jelent, hogy a 4 érték egyenlő 8 bájttal. Gondolom ezt az átalakítást, word -> two byte, az Energia elintézi helyetted, valahogy így:
Fogadásnál viszont vissza kell alakítani "word"-re, hogy az eredeti értéket kapd meg, valahogy így:
Nem tudom, hogy mivel fogadod az értékeket, de egyszerűbb megoldás, ha rögtön egy tömbbe jön be mind a 8 bájt, és a fogadás végeztével, csak össze kell rakni az értékeket.
En Processing-et hasznaltam. Abban a trim paranccsal szet tudod valasztani a vesszovel elvalasztott bejovo adatokat:
Processing pelda
Erről (processing) rögtön lenne is egy kérdésem.
Fogadni szeretnék X mennyiségű (nem ismert) bájtot mait egy bufferben tárolok feldolgozásig. Jelenleg így néz ki:
A küldés folyamatos, 115200 baud. A kérdésem az lenne, hogy jelen esetben a két bájt érkezése között mit csinál a processing? Fut tovább az eredeti program?
Gondolom fut tovabb. En ugy csinaltam, hogy a Processing kuld egy utasitast az AVR-nek, amire az elvegezte a merest es utana visszakuldte az eredmenyeket. Igy szinkronizaltam a merest es kijelzest, elkerulve azt hogy az adatok csak jonnek folyamatosan, a Processing-et meg leterheli a bajovo adatok feldolgozasa.
Az én esetem is hasonló. Processing küldi a jelet, MSP fogadja és elkezdi küldeni az adatokat. De az MSP által folyamatosan küldött adat X mennyiségű, de nem nagyobb ~38400 bájtnál. Most csináltam egy várakozó ciklust, de nem tudom mire kéne várjon, ha ismeretlen a fogadott bájtok mennyisége. Próbáltam azt is, hogy a folyamatos küldés után, elküldök egy string-et pl. "ok\r\n", de ez sem vált be.
Mivel már hajnalodik nem vagy teljesen magamnál... Az előző kérdésemet félreértetted, vagy szokásomhoz híven én fogalmaztam rosszul. Én úgy értem, hogy két bájt érkezése között mit csinál a processing. Tehát amikor kiszáll a serialEvent(Serial port)... függvényből. A hozzászólás módosítva: Nov 21, 2013
Idézet: Csak pontosítok: a split() függvénnyel lehet szétszedni, előtte pedig célszerű a trim() függvénnyel kitakarítani a sor elején és végén levő fölösleges szóköz és sorvége karaktereket. „En Processing-et hasznaltam. Abban a trim paranccsal szet tudod valasztani a vesszovel elvalasztott bejovo adatokat” A hozzászólás módosítva: Nov 21, 2013
Idézet: Gondolom, visszatér a főprogramhoz, s kergeti a draw()-ban leírtakat. „Én úgy értem, hogy két bájt érkezése között mit csinál a processing. Tehát amikor kiszáll a serialEvent(Serial port)... függvényből.”
Épp ez az amit nem szeretnék addig, amíg az összes adat be nem érkezik. Gondoltam arra is, hogy menet közben feldolgozom az adatokat, de ahhoz meg túl kevés az idő, és összekeverednek az adatok. Na mindegy...
Most, hogy sikerült felélesztenem az f5529-est, egyszerűbb lesz úgy megoldanom, hogy az adatok elsőnek a flash-ben tárolódnak, mert ebben a típusban már van elég hely, és csak később kerülnek elküldésre.
Nálam soronként jönnek az adatok, s nem engedem tovább, amíg egy sor be nem jött:
Tehát ha van beérkezett karakter, akkor megvárjuk a sor végéig (van idő!), majd a sort feldolgozzuk. Az "lf" az "új sor" karaktert jelenti. Azt most ne firtassuk, hogy a bájt nevű változók hogyan lettek float típusúak, mert hosszú történet (egy kész programot módosítottam DHT11 szenzorról DHT22-re, s az utóbbi tizedeseket is szolgáltat). A hozzászólás módosítva: Nov 21, 2013
Köszönöm mindenkinek az ötleteket, segítséget. Megpróbálok alkotni valamit, aztán majd írok ha van valami fejlemény.
Sajnos én nem tudom megcsinálni, hogy soronként küldöm az adatokat, mert akkor a fele elvész.
Egy mobiltelefonból kiberhelt kamerát próbálok életre kelteni több-kevesebb sikerrel. A Processing a kép megjelenítésére kell, és mivel elég szűkös memória áll rendelkezésre (g2553), ezért úgy oldottam meg, hogy a kamera adatvonalán érkező adatokat rögtön küldöm a Processsing-nek UART-on. Tudom! Őrültség ilyesmit csinálni, ily kis teljesítményű MCU-val, de számomra egy jó kis játék...
Nem értem: ha átküldöd az adatokat a PC-nek, akkor miért nem elég a memória ?! A PC oldalon biztos van egy kis puffer ( visszatérhet a "főprogramhoz" a soros kiszolgálása közben! ), a beérkezett adatnak ott a sok memória, a feldolgozással ráérsz a végén... Mit értettem félre ?!
A hozzászólás módosítva: Nov 21, 2013
A mikrovezérlőben kevés a memória, nem a PC-ben.
Mivel az UART lassú, így is nagyon sok adat elvész, mert a kamera egy teljes képet, elküld egyszerre. A leggyorsabb az lenne ha a MCU-ban tudnám a képet bufferelni, ezért próbálom az f5529-es flash memóriájában ideiglenesen tárolni. Az egészben az a poén, hogy azt sem tudom milyen kamerával dolgozom. A telefon kapcsi rajza alapján próbáltam kideríteni a típusát, de nem sikerül. Annyit sikerült kiderítenem logikai analizátorral, hogy valószínű valamilyen OV7 | 2xxx típus lehet...
Erre tippeltem én is !
Idézet: „Épp ez az amit nem szeretnék addig, amíg az összes adat be nem érkezik. Gondoltam arra is, hogy menet közben feldolgozom az adatokat, de ahhoz meg túl kevés az idő, és összekeverednek az adatok.” Hát ezt a PC erőforrásainak meg kellene oldania, ha a mikrovezérlő győzi !? Idézet: Ha innen küldöd, akkor meg már tudhatod, hány adatot fogsz átküldeni!„Most, hogy sikerült felélesztenem az f5529-est, egyszerűbb lesz úgy megoldanom, hogy az adatok elsőnek a flash-ben tárolódnak, mert ebben a típusban már van elég hely, és csak később kerülnek elküldésre.” Ez hány kép lenne? Mozgó ? Idézet: „Ez hány kép lenne? Mozgó ?” Az első kecsegtető kísérleteimben, ahol a g2553+kamera kombináció volt/van, ott ~39 másodperc egy kép, ami 320x240-es. Tehát 40 másodpercenként lehet egy képet lekérni. Ilyen kis teljesítményű MCU-val esély sincs mozgó képre. Ahhoz már inkább előveszem a Stellaris LP-t, vagy a GR-Sakurát (RX63N). Idézet: „ezért próbálom az f5529-es flash memóriájában ideiglenesen tárolni.” Ezt csak én érzem úgy, hogy nem lesz hosszú életű?
Az attól függ mire gondolsz. Ha a flash újraírhatóságára, ami az adatlap szerint 10^5, akkor igen.
De nézd inkább a jó oldalát. Az ember tanul, szórakozik, és élvezi a hobbiját! |
Bejelentkezés
Hirdetés |