Fórum témák
» Több friss téma |
Lehet, hogy megemlegetjük még ezt az előrendelést! Túl hosszú a hibalista...
A SLAU144i.pdf 17.4 szekciója tartalmazza, hogy reset után mi az USCI B0 alegységgel kapcsolatos regiszterek állapota. Ezeket visszaállíthatod, bár én túlzásnak tartom. (Ha jól értem a G2553 adatlapját, akkor abban csak A0 és B0 egység van?)
Arra külön fölhívják a figyelmet, hogy bizonyos regisztereknél csak a releváns biteket állítsuk át, nehogy mellékhatásként valamit elállítsunk! Idézet: „Ha jól értem a G2553 adatlapját, akkor abban csak A0 és B0 egység van?” Igen, és ez a bajom. Megpróbálom csak azokat a regisztereket visszaállítani, amiket az i2c-vel állítok, hátha... Bár nem szeretek próbálgatni, mert abból még jó soha nem származott. De ennek meg az lesz a hátránya, hogy túl sok időt fog felemészteni a váltás, és akkor már nem lesz értelme az egésznek. Egy "egyszerű" kazánvezérlés lenne belőle, melyben lenne egy, i2c-s real time óra ic, az óra/dátum kijelzéshez, egy i2c-s eeprom, az adatrögzítéshez, egy bluetooth modul, a PC + telefon kapcsolathoz, és egy SPI-s JD-T1.8"-as lcd a kijelzéshez. Plusz még két hőmérő szenzor, de az valószínü analóg lesz. Lehet, hogy túl sok modult akarok egy ilyen "kis" vezérlőre ráakasztani?
Van rá esély, hogy rövidebb lesz a lista?
Vagy ezt már így kapjuk meg és szevasz...
Szerintem még sokat kiírtanak belőle, nem szoktak "szemetet" árulni. Még az is lehet hogy a hibák miatt késni fog a megjelenés, bár kétlem.
Ha ennyi a vesződés vele, akkor miért nem keresel egy "nagyobb" procit amiben elég kommunikációs periféria van?
Ez inkább kihívás. Néztem nagyobb procit, de túl sok lába van, és sajnálnám felhasználni. A g2553-nak is marad szabad kivezetése, az előzetes tervek szerint.
Na, ma jutott időm próbálgatni a port lábakat és úgy tűnik, hogy a p1 és p2 portnak csak a felső 4 bitjét fogadja el az lcd adatvonalnak. Amint átállítom az alsó 4re vagy köztes bitekre egyből előjön a mandarin az lcd-ből.
Ezzekkel a módosításokkal működik:
Idézet: Természetesen nem az LCD ennyire háklis, hanem az általam "takarékosan" megírt lcd_write() függvény. „úgy tűnik, hogy a p1 és p2 portnak csak a felső 4 bitjét fogadja el az lcd adatvonalnak.” Ha visszakeresel a topikban, megtalálod a megoldást: (keresés lcd_write-ra)
Sikerült!
Ha valakit érdekel, a g2553-ban a hardveres SPI és az I2C működik együtt, egy modulon (UCB0), illetve felváltva. A hiba bennem volt ismét. Megint benéztem az operátorokat, illetve ott használtam, és olyan operátort, ahol nem kell, és nem jó. Pl. az I2C-t így állítottam be: (részlet)
Az SPI-t meg így:
A hiba: |= . De ebbe a csapdába egyszer már beleestem. A lényeg, hogy az SPI, és az I2C adatvonal, mehet nyugodtan egy lábról, mert még a felhúzó ellenállás sem zavar be! A hozzászólás módosítva: Szept 1, 2012
Helló.Egy olyat szeretnék kérdezni hogy msp430g2231-es ic-vel lehet az 1soros 16 karakteres kijelzőn szöveget léptetni?(futtatni).A program mely a kjelzőt vezérli a hobbielektronika egyik cikkéből van és azzal megy,bár én nagyobb szöveget szeretnék vele kiíratni mint 16 karakter és ezért lenne szükség a léptetésre.Aki tud segíteni ebben a problémában annak előre is köszönöm!
Igen, lehet, a 0x18-as parancs kiküldése balra lépteti a szöveget.
ÉS azt hova kell a főprogramba beleírni mert annyira azért nem értek hozzá.
Kiolvasom az eeprom tartalmát egy tömbbe (rx_ee_adat). A kiolvasott tartalmat ki szeretném íratni az lcd-re, de valamit elrontok. Mit?
Az eepromba ezt írom be:
Az eredeti lcd vezérlő programban, a drawChar függvényt, így hívja meg a szerző: drawChar(10, 1, 'A');
Kedves Icserny!
Lehet rosszul fogalmaztam. Az lcd_write-nál a biteltolást mindig megcsináltam, úgy ahogy régen írtad. A probléma nem mindig jön elő valamikor helyesen ír, de valamikor nem, viszont a felső 4 bitnél mindig jó. Elkezdtem utána olvasni és rátaláltam colosseum kommentjére amiben van egy jó példa az egyszerű adatvonal kezelésre. Ezzel sikerült megoldanom gondomat, így bármelyik portlábról működik és csak a portvezérlő bitek megadásánál kell matatni. Kirakom hátha találtok benne hibát:
Idézet: Lehetőleg egy ciklusba, mivel egy 0x18 parancs kiküldése csak egy karakterhellyel lépteti balra a kijelzőt, tehát ismételgetni kell. Például így:„ÉS azt hova kell a főprogramba beleírni?”
(A második sorba léptetés és a második sor kiírása elhagyandó, ha csak egysoros a kijelző, s természetesen az inicializálást is módosítani kell.)
Kipróbáltam a linkelt programsorokat kiváncsiságból és nálam az lcd mindkét sorát lépteti egyszerre. Létezik olyan beállítás, hogy az egyik sor fix a másik pedig mozog?
Valamint, ha jól számoltam maximum 40 karaktert képes léptetni utána előlről kezdi. Lehet ezen bővíteni? A hozzászólás módosítva: Szept 2, 2012
Nem és nem. Mármint ha az LCD képességeire vonatkoztak a kérdések.
Szoftveres megoldás nyilván mindenre található... 1. Ha csak az első sort akarod görgetni, akkor a képernyő léptetése helyett mindig újra kell írni azt a 16 karakternyi szöveget, amit az ablakban láttatni akarsz (az lcd_write(0x80,0) paranccsal előttte mindig meg kell címezni az első sort). Itt akkor nem a képernyő görög, hanem egy mutatót léptetsz, ami a memóriában tárolt szövegből az első kiolvasandó karakter címére mutat (ha a tömb végére értél, akkor vissza kell ugratni az elejére! 2. A fenti módszerrel természetesen 40 karakternél hosszabb szöveg is kiíratható.
IAR-ban hol lehet azt beállítani, hogy úgy mentsen el egy projektet, hogy a régebbi verziók is meg tudják nyitni?
Csináltam egy egyszerű projektet az 5.50-el, és az 5.40-el nem tudom megnyitni.
Erre én is kíváncsi vagyok.
A hozzászólás módosítva: Szept 4, 2012
Találtam némi dokumentációt ezzel kapcsolatban, és arra jutottam, hogy a válasz: sehogy. Igaz, hogy nem az MSP-s szekcióban volt, hanem az AVR-ben, de azt írják, hogy egy magasabb verziószámú IAR-al írt projekt, nem kompatibilis az alacsonyabb verziószámú IAR-al, valami driver miatt. A lényeg, hogy az egyik gépemre feltettem a 30 napos 5.50-et, írtam benne egy kis led villogtató progit, és az 5.40-el nem tudtam megnyitni a projektet. Sőt miután felraktam az 5.50-et, egyik projektet sem tudtam lefordítani az 5.40-el, valami licenc hiba miatt, de erről is írnak az IAR oldalán. Úgyhogy csak vigyázni a frissítéssel!
A hozzászólás módosítva: Szept 4, 2012
Sziasztok! Ha jól tapasztalom, akkor az msp430 nem kezeli a tizedes számokat.
Attól függ mire gondolsz, nincs benne FPU, de ilyen nem sűrűn fordul elő ilyen pici mikrovezérlőkben.
Ettől függetlenül számolhatsz törtekkel, csak lassabb lesz mint egészekkel.
Csak arra gondoltam, hogy megcsináltam a belsőhőfokmérő projektet az 2x16 char LCD kijelzővel. S mindig egész számú szobahőfokot kapok, melyet a belső hőmérő mér. Még kezdő vagyok az msp témában.
Nézz szét a topikban ("outdec" a varázsszó), találsz rá megoldást! A hőmérsékletet tizedfok egységekre konvertáld, s a kiíratásnál jelezzük, hogy egy tizedesre kérjük a kiíratást.
Ugyanezt a módszert használom soros porti kiíratásnál is. Bővebben: link.
Sziasztok.
Lenne pár kérdésem. Egy új számítógép nem túl boldog tulajdonosa lettem. Feltelepítettem az IAR 5.40.2 vagy 3-at, ami megy is szépen, egész addig amíg nem nyomok rá a "Make Restart Debugger" gombra. Kétszer-háromszor lefordítja a programot, és szimulálható is, de aztán folyamatosan hibát ír. A hiba, hogy nem találja a launchpad-ot, és csak akkor tudom újra elindítani a szimulációt, ha lehúzom és visszadugom a launchpad-ot. Mitől lehet ez? Valaki tudna valami ötletet adni, hogy mit csináljak vele, mert ez így elég idegesítő. A "régi" és új lp-vel egyaránt csinálja. Op: win7 x64. A másik. Lcd kérdés lenne, JD-T1800. Bár lehet, hogy csak én kísérletezek ilyen lcd-vel, és erre is magamtól kell rájöjjek. A problémám a képen látható. A fent említett lcd-re próbáltam szerkeszteni nagyobb karaktereket, de nem sikerült, mert valamiért csak össze-visszaságot írt ki. Próbáltam nagyobb karaktertáblát (8x12, 9x16, stb) is, de azt sem írta ki. Ezért úgy döntöttem, hogy összerakom pixelekből. Ez legalább félig sikerült. A kérdés az lenne, hogy miért hagyott ki a betűkből, számokból egy csomó pixelt? A programrészlet, az http://www.43oh.com/forum/viewtopic.php?f=35&t=2246&sid=17e510cdc0c...art=20 innen letöltött program átirata. Nem én írtam, csak kiegészítettem! A válaszokat előre is köszi. A hozzászólás módosítva: Szept 7, 2012
A Column és Row addres beállításait nézd át én úgyanígy szívtam a 3510i szines lcd -vel mikor nagyobb karakterekkel kísérleteztem és ott Column és Row beálításokat kellett módosítanom, hogy helyesen jelenjenek meg a nagyobb karakterek. Igaz a két lcd össze sem hasonlítható, de lehet itt is az a bibi
A hozzászólás módosítva: Szept 7, 2012
Idézet: Nem ismerem sem a kijelzőt, sem a program felépítését, de az a gyanúm, hogy a betu_meret() függvényben a for ciklus belsejében kellene meghívi a SetAddress() függvényt. Nem lehet, hogy most minden pontot ugyanarra a címre küld ki?„miért hagyott ki a betűkből, számokból egy csomó pixelt?” Idézet: Én nekem is tetszik, de most elköltöttem a zsebpénzem egy hobbi routerre (TL-WR703N), amelyen openwrt-vel szeretnék játszani. Ja, egyelőre időm sem lenne rá...„Bár lehet, hogy csak én kísérletezek ilyen lcd-vel ” A hozzászólás módosítva: Szept 7, 2012
A pontos hiba, hogy szélességben jó a pl. 8 vagy 9 pont, az megjelenik, de hosszúságban csak 6 vagy 7 pont jelenik meg, és ebbe sűríti bele a 11-12.. pontot. Pedig átírtam a "drawChar" függvényben, mind a két while ciklust.
|
Bejelentkezés
Hirdetés |