Zobrazovanie premennej na displeji.
Moderátori: psichac, Moderátori
Zobrazovanie premennej na displeji.
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.
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.
0
-
- Stály člen
- Príspevky: 481
- Dátum registrácie: 20 Apr 2011, 00:00
- Bydlisko: Lazne Kynzvart / CZ
Re: Zobrazovanie premennej na displeji.
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
pokud ti tam bude jeste pri rychlem odcitani zustavat m (10 mm m) tak pridat na konec jeste mezeru
0
- jenda23
- 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.
jop bude to vypadat takhle
locate 1,1
LCD proměnná; " mm "
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
Re: Zobrazovanie premennej na displeji.
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.
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
-
- Stály člen
- Príspevky: 481
- Dátum registrácie: 20 Apr 2011, 00:00
- Bydlisko: Lazne Kynzvart / CZ
Re: Zobrazovanie premennej na displeji.
Mozes mi ten riadok napisat?
neboli "mezerammmezera" = 10mezerammmezera , ta mezera na konci ti bude mazat to posledni m pri ubirani řádů0x20,0x6d,0x6d,0x20
0
Re: Zobrazovanie premennej na displeji.
Chapem o com hovoris, ale ja to neviem zapisat, spravne, so spravnou syntaxou. Preto sa na to pytam.
0
-
- Stály člen
- Príspevky: 481
- Dátum registrácie: 20 Apr 2011, 00:00
- Bydlisko: Lazne Kynzvart / CZ
Re: Zobrazovanie premennej na displeji.
Lcd Vyska ; "mm" - predpokladam ze ti vypise na lcd "mm", tak tam pridej akorat mezery Lcd Vyska ; "mezerammmezera"
0
Re: Zobrazovanie premennej na displeji.
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.
0
Re: Zobrazovanie premennej na displeji.
podla mna to pise spravne. skus taku haluz, ako vymazat pred novym vypisom lcd. a sa uvidi...
0
Re: Zobrazovanie premennej na displeji.
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
Re: Zobrazovanie premennej na displeji.
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
- jenda23
- 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.
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...
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
Re: Zobrazovanie premennej na displeji.
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.
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
-
- Stály člen
- Príspevky: 481
- Dátum registrácie: 20 Apr 2011, 00:00
- Bydlisko: Lazne Kynzvart / CZ
Re: Zobrazovanie premennej na displeji.
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 ?
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
Re: Zobrazovanie premennej na displeji.
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.
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
Re: Zobrazovanie premennej na displeji.
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
Re: Zobrazovanie premennej na displeji.
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)
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)
0
Re: Zobrazovanie premennej na displeji.
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 uloen 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
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 uloen 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.
-
- Podobné témy
- Odpovedí
- Zobrazení
- Posledný príspevok