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 |