Fórum témák
» Több friss téma |
Ezt még nem is láttam, pedig olvasgattam a topicot .
Decebal : Nagyon szuper lett az órád Esetleg a forráskódot nem tudnád felrakni valahova, vagy mikor lesz kész a cikk?
Szia!
A 32768 Hz -es kristályra amit a Launchpad-al adtak szükséged lesz a pontos idő számoláshoz. Az alábbi 3 sort illeszd be a main részbe a Watchdog alá. CCTL0 = CCIE; CCR0 = 32768-1; TACTL = TASSEL_1 + MC_1; És a Timer másodpercenként növeli a definiált számláló értékét. Beszúrtam egy rövid példát ez alapján el tudsz boldogulni. #pragma vector=TIMER0_A0_VECTOR __interrupt void Timer_A (void) { mp++;//másodperc if (mp>=60) { pr++; //perc mp=0; if (pr>=60) { hr++; //óra pr=0; if (hr>=24) { hr=0; honaprtc(); } } } }
Félkész állapotban van, mert most van egy határidős melóm utána folytatom (kb. 2 hét).
Szia!
Köszi, ez alapján talán el tudok indulni, ha nem kérdezek. Nem sürgetni akartalak csak megkérdeztem, csináld nyugodtan ami sürgős.
Korábban azt írtad, hogy debreceni vagy ha hozol egy 2553 kontrollert akkor ráégetem neked. A cikkel akarom nyilvánossá tenni a progit.
Nem debreceni vagyok csak oda járok suliba.
Az a gond hogy nincs 2553 -asom csak 2352 (a farnernél ez volt a legnagyobb raktáron) , ebbe meg gondolom nem fér bele a program ? Tényleg hol szoktatok kontrollereket venni ?
Sajnos nem fér bele, a 2553 -ba is "cipőkanállal kellett beletuszkolnom".
Gondolom, hogy ez az lcd kezelés (karakterkészlet) és a névnapok miatt lehet így. Ezek eléggé eszik a memóriát.
ebbe hogy lehetne megcsinálni hogy világítás helyett villogjon a led? És esetleg azt hogy 3 mód legyen? És még azt szeretném kérdezni hogy hogy lehet beállítani az alacsony kimenetet?(mert ugyebár a magasnak |= ez a jele) Köszi.
A gombnyomás vizsgálatát szerintem megszakítással volna célszerű megoldani. Az viszont nem volna olyan egyszerű, mint a linkelt programod.
A többi kérdéssel kapcsolatban (ez alap c ismeret): Itt nézz körül. Kedesd ezt: "Summary - Expressions" Esetleg a google-be is beírhatod ezt: "C bitwise operator". A |= kifejezés egy logikai vagy (or) műveletet jelent, nem azt hogy magas.
Idézet: Ugyanúgy, bitenkénti ÉS művelettel, ahogy néhány sorral korábban a bemeneti irányt állítottuk be. Csak P1DIR &= ~BIT3; helyett írd pl. ezt: P1OUT = ~BIT0;„hogy lehet beállítani az alacsony kimenetet?” A gombfigyelést pedig nem blokkoló módon kell megoldani. A honlapomon találsz példákat PIC-re (LED vezérlése nyomógombbal, stb.). Kövesd azt a módszert! Bővebben: Link
Sziasztok!
Szereztem egy nokia 3410-es kijelzőt, úgy tudom hogy ennek ugyanaz a vezérlése mint a 3310-esé csak a felbontása nagyobb. Próbálgattam a DecebaL féle driverel de sosem jó helyre rakta ki a karaktereket. Mit kellene átírni hogy rendesen kezelje ? Ebből még van kettő jó lenne ha meg tudnám csinálni. Idézet: „Idézet: ?hogy lehet beállítani az alacsony kimenetet?? Ugyanúgy, bitenkénti ÉS művelettel, ahogy néhány sorral korábban a bemeneti irányt állítottuk be. Csak P1DIR &= ~BIT3; helyett írd pl. ezt: P1OUT = ~BIT0;” Régebben az egyik fórumban pontosan megadtam valakinek egy parancssor helyes szintaxisát. Ez jó segítség volt neki akkor hirtelen. Érkezett erre azonban egy hozzászólás, ami így hangzott: "Ne halat adj az éhezőnek, hanem hálót!". Jobban belegondolva igaza volt annak a fórumozónak aki így reagált. Persze Te a "hálót" is biztosítod a remélhetőleg sokáig tartó cikksorozatoddal. Köszönjük azt a tényleg sok hasznos segítséget, amit Töled kap(t)unk. Enélkül talán sokkal kevesebben foglalkoznának ezzel a vezérlővel.
Az eltérő felbontás miatt újra kell számolni az összes pozicionálással kapcsolatos részt, s természetesen a memória mérete is más lesz (ahol 504 van írva...).
De érdemes szétnézni az Interneten is, mert a C nyelvű programok viszonylag hordozhatóak.
Ez lenne a pozicionáló rész?:
Az 504 eket már átírtam 768 ra ( enyi kell nem?) , de a pozicionálás nem jó. Ha ez az akkor hogyan kellene átírni, nem nagyon értem ezt a részt ?
Köszi mindkettőtöknek. Sajnos még C ben is kezdő vagyok de igyekszem
Idézet: Ezt te tudod, velünk még nem közölted a méreteket.„Az 504 eket már átírtam 768 ra ( enyi kell nem?)” Idézet: Ha belegondolsz, a karakterek kiírása pontsoronként (vagy oszloponként) történik. Az eltérő geometria miatt a soronkénti (vagy oszloponkénti) bájtok száma is eltér a Nokia 3310 kijelzőnél használt értéktől. Ilyen szemmel kell tehát átbogarászni a kódot, s lehetőleg megérteni, hogy hol, mit miért csinál. „de a pozicionálás nem jó”
Idézet: Ezen már ne múljon: BRIAN W. KERNIGHAN ? DENNIS M. RITCHIE: A C programozási nyelv „Sajnos még C ben is kezdő vagyok”
Ismerem köszi
Ez nekem is jól jön
Megtaláltam mi a gond, a 3410 es vezérlője az y kordinátát így kérné: 0100yyyy és 0-tol 8 ig mehet míg a 3310 es csak 3 bit en kéri 01000yyy és 0-tol 5 ig mehet . Nem nagyon értem ennek: (0x40|(ynokia&0x07) a résznek a működését, hogy kellene eszt átírni hogy 4 bit-en küldje az y kordinátát? Idézet: A 0x07-tel végzett ÉS művelet csak 3 bitet enged át (0x07 = 0b0000_0111).„Nem nagyon értem ennek: (0x40|(ynokia&0x07) a résznek a működését” Ha 4 bitet akarsz, akkor a 0x07 helyett 0x0F kell, mert 0x0F = 0b0000_1111. Bitfaragás: A bitenkénti VAGY kapcsolat '1'-be állítja azokat a biteket, ahol a második operandus (a maszk) '1'-est tartalmaz. Ez a megengedő VAGY igazságtáblájából következik (mert x | 1 = 1). A bitenkénti ÉS kapcsolat pedig '0'-ba töröl minden bitet, amelyikkel szemben a maszk '0'-t tartalmaz. Mert x & 0 = 0. A bitenkénti kizáró VAGY pedig ellenkezőjére állítja azokat a biteket, amelyekkel szemben '1' áll. Mert 0 ^ 1 = 1, továbbá 1 ^ 1 = 0, tehát x ^ 1 = !x.
Az adatlap tudja ezt legjobban. VIL, VIH, VSS paramétereket nézd meg!
Hát ez jó volt.
elfelejtettem nézni a fórumot, közbe a weboldaladon találtak alapján rájöttem ugyan arra amit itt leírtál Most már jó a címzés, csak valamiért a jobb alsó sarokban egy részt nem töröl és így ott össze-visszaság van. Ha én írok oda 0-kat akkor eltünik, úgyhogy valami a törléssel lehet. void nokia_clean_ddram(void)
Ez a rész tartozik oda, megnéznéd mi lehet a gond ?
Megoldottam
Az a gond hogy a vezérlő 102 soros a kijelző pedig csak 96, így nem törölte az egész kijelzőt. A lényeg hogy 918 at kell beírni. Na de ez a bitmap rajzolásnál megint problémát okoz mert szétcsúszik a kép Valahogy be kellene rakni egy sorváltást ha eléri a 876 "sort" hogy ne írja tovább a cgram ot úgysincs tovább kijelző. Ezt hogyan kellene megoldani? bocsi ha fárasztalak
Ezt már néztem. De most rájöttem. 5v kell a vss re (min 4.5) és a bemeneti jel 2.3-vss(5v) lehet ugye? Az enable meg megy föl a + tápra ha nem használom(de +5v vagy 3.3?) Jól mondom? Köszi a segítséget.
Idézet: Elvileg 2,3 V-tól bármelyik jó, de én az L293 tápfeszültségére kötném.„Az enable meg megy föl a + tápra ha nem használom(de +5v vagy 3.3?)” Idézet: Igen de itt zárjuk is le a témát, mert erősen off... „Jól mondom?”
Oké. Mégegyszer köszi.
Feltöltöm az átírt 3310 lcd drivert , így már több mint kevésbé működik 3410 lcd-vel. Bitmap megjelenítésnél 102x64 es felbontásra kell méretezni, de a sorok utolsó 6 pixele nem fog megjelenni.
Karaktereknél pedig mielőtt elérnénk a kijelző végét sort kell váltani. Hátha szüksége lesz rá másnak is. Köszönöm a segítséget icserny-nek és az eredeti drivert DecebaL-nak ! |
Bejelentkezés
Hirdetés |