Stránka 1 z 1
LCD 20x4 vypíše v pořadí 1,3,2,4 řádek, jak vypsat popořadě?
Napsal: 22 bře 2010, 19:19
od michalino
Dobrý den, prosím Vás o pomoc..
vypisuju znak X na LCD displej a chci ho vypisovat po jednotlivých řádcích shora..nějak nefunguje LOCATE a pořád to chaoticky vypisuje na řádek jaký se zachce...
vypisovani provadim timto prikazem (zjednodusene):
radek=1
do
If B = 13 Then
Incr Pozicevstringu 'další znak
If Pozicevstringu > 20 And Pozicevstringu < 41 Then radek=2
End If
Locate radek , Pozicevstringu
Lcd "x" ' zobrazeni X
loop
Nefunguej vypisovani na postupne 1první 2hý 3tí 4tý řádek..
Prosím Vás o radu, jak to udělat?
děkuji
Napsal: 22 bře 2010, 19:35
od ZdenekHQ
Myslím, že tahle tabulka hovoří za vše. Prostě to musíš nějak ošetřit - já používám rutinu, co přesně nastaví řádek a sloupec a pak už jen posílám přiměřeně "dlouhé" řetězce znaků.
Napsal: 22 bře 2010, 19:40
od michalino
tak to je síla....
![Wink :wink:](./images/smilies/icon_wink.gif)
děkuji za příspěvek....
Ale přece příkaz
Locate radek, pozice
mluví za vše...jim přece tohle můžu usměrit a nechce se tomu...i když locate směřuje na druhý řádek, vypíše se text na třetí nebo čtvrtý řádek...
Locate tomu nepomůže?
Napsal: 22 bře 2010, 19:47
od ZdenekHQ
To je tak, když se tady používá asi 20 programovacích jazyků bez jakékoliv definice v otázce a každý funguje jinak. Jestli je Pozicevstringu myšleno jako sloupec, měl bys po přesměrování na patřičný řádek odečíst 14h nebo i víc...
Napsal: 22 bře 2010, 20:03
od michalino
Ano,
jedná se o BASCOM
deklarace je takováto:
Dim radek As Byte ' proměnná hlídající řádek na LCD
Dim Pozicevstringu As Byte
Dim Vsechny_znaky_X As String * 80 ' řetězec znaků na první stránce
Dim Znaky(80) As Byte At Vsechny_znaky_X Overlay
String*80 mám proto, že se jedná o 4 řádky krát 20 znaků = celkem 80 znaků
když stisknu klávesu vypisuje se mi postupně od prvního znaku ...
aha....teď jsem to pochopil......
jestli to tak je, pak se omlouvám za dotaz...
Napsal: 22 bře 2010, 20:10
od AB1
Budeme hádat že máš displej 20*4
a že jsi napsal řádek
Config LCD = 20 * 4
Podívej se na svůj kód
Kód: Vybrat vše
If Pozicevstringu > 20 And Pozicevstringu < 41 Then radek=2
End If
Locate radek , Pozicevstringu
Jak můžeš psát do sloupců 21 až 40 u displeje, který má dvacet sloupců?
Napsal: 22 bře 2010, 20:29
od michalino
Tohle mi došlo v textu výše... opravdu...., pracuju teď na přepočtech...
opět se stydím, jestli je to v tomto...
pořád jsem se soustředil na řádky a sloupce jsem úplně zapomněl..
děkuji AB1