Zobrazovanie premennej na displeji.

Moderátori: psichac, Moderátori

miroL
Stály člen
Stály člen
Príspevky: 489
Dátum registrácie: 28 Máj 2008, 00:00
Bydlisko: TRNAVA
Vek: 53

Zobrazovanie premennej na displeji.

Príspevok od používateľa miroL » 07 Okt 2011, 20:44

Zdravim pani!
Chcel by som poprosit o radu pri korektnom zobrazovani premennej na displeji. Spravil som si jednoduchy program na odskusanie funkcie enkodera s 500 imp/ot. Nazval som to odmeriavanie, pretoze to neskor na nieco podobne vyuzijem, ale teraz zobrazujem len pocet impulzov. Vytvoril som si premennu " vyska" ,ktora ma velkost word, tz. 5 miestne cislo do 65535, potom som chcel medzeru, a jednotky, v mojom pripade mm. Podla smeru otacania premennu inkr. a decr. Po zapnuti sa mi pekne zobrazi 0mm, na zaciatku riadku, ale bez medzery. Ako sa premenna inkrementuje, zobrazuje hodnotu napr. 10mm, 100mm....10000mm az po maximum. Ked vsak zacnem tocit opacnym smerom, mm sa mi zacnu zobrazovat nespravne, napr. 1000mmm, 100mmmm, 10mmmmm. Nemozem sa nikde docitat, akym sposobom sa to da nastavit. Zaujima ma , ako vytvorit tu medzeru medzi hodnotou premennej a jednotkami , a ako zabezpecit, aby sa so zmensujucim cislom posuvali aj jednotky. Dakujem.
Prílohy
skuska enkodera.JPG
0

MiloPS3
Stály člen
Stály člen
Príspevky: 479
Dátum registrácie: 20 Apr 2011, 00:00
Bydlisko: Lazne Kynzvart / CZ

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa MiloPS3 » 08 Okt 2011, 12:00

Cau, ze by stacilo ji tam napsat ? " mm " (0x20,0x6d,0x6d,0x20)
pokud ti tam bude jeste pri rychlem odcitani zustavat m (10 mm m) tak pridat na konec jeste mezeru
0

Používateľov profilový obrázok
jenda23
Ultimate člen
Ultimate člen
Príspevky: 5779
Dátum registrácie: 27 Jún 2008, 00:00
Bydlisko: Česká Třebová
Vek: 33
Kontaktovať používateľa:

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa jenda23 » 08 Okt 2011, 12:06

jop bude to vypadat takhle

locate 1,1
LCD proměnná; " mm "
0
Lokomotiva je jako žena.Je jich stovky typů a každej z nich je jinej,každá z nich je svým způsobem krásná.Když jí chceš aspoň trochu poznat jsou to stovky hodin času.Nejde s ní být aniž bys jí bezmezně miloval,je nemožný jí znát do poslední skulinky

miroL
Stály člen
Stály člen
Príspevky: 489
Dátum registrácie: 28 Máj 2008, 00:00
Bydlisko: TRNAVA
Vek: 53

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa miroL » 08 Okt 2011, 17:51

Vdaka za odpovede.
to MiloPS3- prepac, vobec som nepochopil, co si myslel. Ako mam pridat na koniec este mezderu? Mozes mi ten riadok napisat?

to Jenda23- ten problem bude uctite v slucke do-loop. V prvom riadku, od stlpca 6 sa mi zobrazuje nadpis VYSKA, to je v poriadku. Dalej mam pouzity prikaz lowerline a tym sa posuniem na 2.riadok. Tym, ze tam dam prikaz locate 1,1 vlastne spravim to iste. A neviem, ci som to ja zle pochopil, aleob Ty si sa pomylil, malo by tam asi byt locate 2,1 , 2. riadok, 1 stlpec. Je to tak, alebo trepem?
Vyskusal som to s 2,1 a fungovalo to ako predtym.
0

MiloPS3
Stály člen
Stály člen
Príspevky: 479
Dátum registrácie: 20 Apr 2011, 00:00
Bydlisko: Lazne Kynzvart / CZ

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa MiloPS3 » 08 Okt 2011, 18:03

Mozes mi ten riadok napisat?
0x20,0x6d,0x6d,0x20
neboli "mezerammmezera" = 10mezerammmezera , ta mezera na konci ti bude mazat to posledni m pri ubirani řádů
0

miroL
Stály člen
Stály člen
Príspevky: 489
Dátum registrácie: 28 Máj 2008, 00:00
Bydlisko: TRNAVA
Vek: 53

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa miroL » 08 Okt 2011, 18:11

Chapem o com hovoris, ale ja to neviem zapisat, spravne, so spravnou syntaxou. Preto sa na to pytam.
0

MiloPS3
Stály člen
Stály člen
Príspevky: 479
Dátum registrácie: 20 Apr 2011, 00:00
Bydlisko: Lazne Kynzvart / CZ

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa MiloPS3 » 08 Okt 2011, 18:18

Lcd Vyska ; "mm" - predpokladam ze ti vypise na lcd "mm", tak tam pridej akorat mezery Lcd Vyska ; "mezerammmezera"
0

miroL
Stály člen
Stály člen
Príspevky: 489
Dátum registrácie: 28 Máj 2008, 00:00
Bydlisko: TRNAVA
Vek: 53

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa miroL » 23 Dec 2012, 21:30

Ahoj. Po vyse roku sa vraciam k problemu, ktory som vtedy nevyriesil. Pridkladam obrazky, ako mi tu premennu na displeji zobrazuje. Po zapnuti ukazuje 0 mm. Na prvom obrazku je udaj max. hodnoty, ked premennu dekrementujem. tj. 65535 mm. Zatial spravne. Na druhom obrazku je udaj, ked znovu premennu dekrementujem, takze by tam mala byt nulova hodnota, ale zmeni sa len 1. cislica, ostatne zostanu povodne, co je samozejme nezmysel. Este raz poprosim o nejake rady. Uz je to aj upravene o tie medzery, ktore ste mi tu radili.
Prílohy
Max. hodnota
Max. hodnota
simulacia2.JPG
0

Používateľov profilový obrázok
petersno
Ultimate člen
Ultimate člen
Príspevky: 2774
Dátum registrácie: 06 Aug 2011, 00:00
Bydlisko: ba
Vek: 63

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa petersno » 23 Dec 2012, 21:44

podla mna to pise spravne. skus taku haluz, ako vymazat pred novym vypisom lcd. a sa uvidi...
0

miroL
Stály člen
Stály člen
Príspevky: 489
Dátum registrácie: 28 Máj 2008, 00:00
Bydlisko: TRNAVA
Vek: 53

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa miroL » 23 Dec 2012, 21:54

Rozmyslal som aj nad tym, asi to vyskusam. Ale tym sa mi to trosku cele spomali. Idem teraz totiz robit taky tester na enkodery, ktore maju 4096 imp/ot.
0

Používateľov profilový obrázok
petersno
Ultimate člen
Ultimate člen
Príspevky: 2774
Dátum registrácie: 06 Aug 2011, 00:00
Bydlisko: ba
Vek: 63

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa petersno » 23 Dec 2012, 22:19

ak neprepises uz zobrazene udaje, tak na lcd proste zostanu. pouzi nejake formatovanie textu. alebo ak "mm" vypisujes na pevne miesto, tak najprv vypis na zaciatok 5x medzeru, vrat kurzor a vypis cislo
0

Používateľov profilový obrázok
jenda23
Ultimate člen
Ultimate člen
Príspevky: 5779
Dátum registrácie: 27 Jún 2008, 00:00
Bydlisko: Česká Třebová
Vek: 33
Kontaktovať používateľa:

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa jenda23 » 23 Dec 2012, 23:11

A proč to neřeší zachycením timeru? A hodnotu pak zobraz ve formátu

LCD proměná;" "

i když pokud chce zohlednit směr otáčení budeš muset použít INT, ale zobrazuj třebas 1/s jelikož cpát data do LCD mezi přerušeníma je trošku maso...
0
Lokomotiva je jako žena.Je jich stovky typů a každej z nich je jinej,každá z nich je svým způsobem krásná.Když jí chceš aspoň trochu poznat jsou to stovky hodin času.Nejde s ní být aniž bys jí bezmezně miloval,je nemožný jí znát do poslední skulinky

miroL
Stály člen
Stály člen
Príspevky: 489
Dátum registrácie: 28 Máj 2008, 00:00
Bydlisko: TRNAVA
Vek: 53

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa miroL » 24 Dec 2012, 00:23

to Jenda
Takze ja tam tie udaje zobrazujem po 20ms a mam ten cas natiahnut? Spominas tu aj pouzit timer. Neviem presne ako sa to robi, ale mozno by som to niekde nasiel. Nejedna sa mi o to, akym sposobom sa dostanem k nejakemu vysledku, ale v tomto pripade hlavne o to, aby to korektne zobrazovalo, aby som sa to naucil. Teraz sa jedna o impulzy z enkodera, nabuduce bude treba cosi ine.
0

MiloPS3
Stály člen
Stály člen
Príspevky: 479
Dátum registrácie: 20 Apr 2011, 00:00
Bydlisko: Lazne Kynzvart / CZ

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa MiloPS3 » 24 Dec 2012, 10:16

asi takle, zobrazovat promenou po 20mS je blbost, kdyz se ti kazdou tu 20mS zmeni promena tak na tom displeji nic neuvidis, zalezi co s tim budes delat,
tim ze mas enkoder na preruseni mas teoreticky vzdy aktualizovanou promenou, tim ze to trosku natahnes zpomalis akorat optickou odezvu ze se neco stalo, takze se ti to "cely " nezpomali

netusim jak funguje \ LCD Vyska ; " mm " / pokut to dela tohle je neco spatne, kdyt ti to pred tim chodlo , ty milimetry se ti posouvaly podle toho kolik melo cislo mist, tet ti stoji porad na miste , to je problem , a nemaze ti to ty stary znaky, co si s tim udelal ?
0

skymann
Okoloidúci
Okoloidúci
Príspevky: 12
Dátum registrácie: 11 Jan 2011, 00:00

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa skymann » 24 Dec 2012, 10:29

Takto sa ti to zobrazovat spravne nikdy nebude.
Bud mozes stale cez Cls premazavat LCD (co nie je najrozumnejsie riesenie)
ale je jednoduche.Potom ti bude LCD stale blikat.
Alebo si premennu Vyska premen na string a doratavaj si pocet prazdnych
znakov do konca riadku.
V takto jednoduchom programe tie casy nehraju velku ulohu.
Dobre by este bolo zobrazovat len, ked sa zmeni premenna.
0

miroL
Stály člen
Stály člen
Príspevky: 489
Dátum registrácie: 28 Máj 2008, 00:00
Bydlisko: TRNAVA
Vek: 53

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa miroL » 24 Dec 2012, 21:23

Samozrejme, o moznosti zakazdym mazat displej som vedel, ale je mi jasne, ze je to len take nudzove riesenie, ktore som si aj overil. A to dalsie, premenit si premennu na string... je na mna uz moc. Takze ak si ochotny napisat to sem, budem rad.
0

skymann
Okoloidúci
Okoloidúci
Príspevky: 12
Dátum registrácie: 11 Jan 2011, 00:00

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa skymann » 25 Dec 2012, 00:03

Tu je ukazka ako by to mohlo vyzerat.
Samozrejme bolo by to dobre vylepsit to tak, ze to zobrazovanie bude len vtedy, ak sa zmeni premenna "vyska",
tzn ze v hlavnej slucke by si len vyhodnocoval ci sa premenna zmenila alebo nie a zobrazenie by sa dialo v
samostatnej slucke(pripadne 1/s ako pisal Jenda)
Prílohy
bas.jpg
0

smotek7
Pokročilý člen
Pokročilý člen
Príspevky: 528
Dátum registrácie: 08 Aug 2011, 00:00
Bydlisko: PN
Vek: 44

Re: Zobrazovanie premennej na displeji.

Príspevok od používateľa smotek7 » 25 Dec 2012, 22:22

Nehladas nahodou prikaz FORMAT ?
http://www.mp222.wz.cz/Bascom/Soubory/bascom_instr.htm

FORMAT

Formátuje numerický řetězec.

Syntaxe:

str1 = Format(str2, "maska")

Poznámky:

str1 - proměnná, do které bude uložen výsledek formátování [typ string]
str2 - formátovaná proměnná [typ string]
maska - maska pro formátování:

str2 maska str1
"123" " " " 123" ( v masce jsou znaky mezera - přidá úvodní mezery)
"123" "+" "+123" ( + přidá ke kladným číslům znaménko)
"123" "+00000" "+00123" ( 0 přidá úvodní nuly)
"123" "000.00" "001.23" ( . vloží desetinnou tečku)

Znaky v masce se mohou kombinovat ale musí být v pořadí: mezery , '+' , nuly , des.tečka.

Příklad:

Dim S As String * 10
Dim I As Integer

S = "12345"
S = Format(s , "+")
Print S

S = "123"
S = Format(s , "00000")
Print S

S = "12345"
S = Format(s , "000.00")
Print S

I = 3600
S = Format(Str(I) , " 0.0") 'Integer musíme převést na String
Print S

End
0
Nemusím vedeť váhu elektrónu ak chcem zaspájkovať tranzistor.

Napísať odpoveď
  • Podobné témy
    Odpovedí
    Zobrazení
    Posledný príspevok