IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @966
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

ŠKOLEX- projekčná technika

spätné projektory, diaprojektory data projektory, plátna www.skolex.sk

Súčiastky-nielen pre strojárov

Kerb Konus- 40 typov závitových vložiek do kovu, plastu a dreva. Povlaky závitov www.impkontakt.sk

Priprav sa na futbalové EURO

Exkluzívna súťaž o Ford Fiesta! Kurzová superponuka a bonus 100€ https://www.tipsport.sk

Kedy sa oplatí prerobiť auto

na plyn? Nemusíte nevyhnutne hľadať kalkulačku a papier, aby ste si autoviny.zoznam.sk

Zákaznícka zóna Môj Orange

Pozrite si podrobný rozpis hovorov, spotrebu alebo si aktivujte služby. www.orange.sk

RS 232

Zaslať odpoveď
AutorSpráva
Seth222
Užívateľ
Užívateľ

Založený: 16.02.2011
Príspevky: 11

PríspevokZaslal: St 16.02.11 22:37Odpovedať s citátomNávrat hore

Cafte,

najde sa tu niekto kto skúšal riešiť RS232 (seriovú linku) v Delphi ?

No takto, snazim sa to robit cez component Cport4.11. Port mi najde, otvorí, viem ho otestovať ci je otvorený, ale nevim ho čítať. Tipujem ze to bude treba robiť cez comport1.read(). Nepotrebujem nič odosielať, len čisto čítať, nemá niekto s tymto skúsenosti ?. Formát toho co citam poznam, to som zistil cez Terminalv1.9b
je 16bajtov:
B0-Startovacie slovo (STX)
B1-je nieco
B2-je nieco
:
B15- CR- co by malo byt ukoncenie ratazca.

Za kazdu radu, vdaka.
Zobraziť informácie o autoroviOdoslať súkromnú správu
vama
Užívateľ
Užívateľ

Založený: 20.11.2009
Príspevky: 213
Bydlisko: Myjava
Vek: 19

PríspevokZaslal: St 16.02.11 22:47Odpovedať s citátomNávrat hore

Ja bezne pouzivam na komunikaciu s RS232 komponent TMS Async32. Citanie aj zapis pracuje bezproblemov.

_________________
"Digitálna technika pozostáva len z 0 a 1, ktoré sú správny čas na správnom mieste." M. Valášek
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQ
Seth222
Užívateľ
Užívateľ

Založený: 16.02.2011
Príspevky: 11

PríspevokZaslal: St 16.02.11 22:52Odpovedať s citátomNávrat hore

Delfičko máš aku verziu ? to som skúšal tiež, ale ani za nic, som ten komponent tam nevedel nahodiť, bez toho aby mi vyhadzovalo chyby. Ja mam D7 enterprise.
Zobraziť informácie o autoroviOdoslať súkromnú správu
vama
Užívateľ
Užívateľ

Založený: 20.11.2009
Príspevky: 213
Bydlisko: Myjava
Vek: 19

PríspevokZaslal: St 16.02.11 22:58Odpovedať s citátomNávrat hore

Tiez mam Delphi 7.
Nainstalovat ho treba tak ako je napisane v install
citácia:
Delphi 7
1. Run Delphi 7 and select the FILE / OPEN menu item
2. Open the file Vacomm7.dpk and click Install.
3. Choose Environment options from the Tools menu.
4. Add the folder of vcl to the library path.


A potom ide bezproblemov.
treba najprv spustit Delphi a potom v nom otvorit ten komponent, dat nainstalovat a pridat ho medzi kniznice a je to.

_________________
"Digitálna technika pozostáva len z 0 a 1, ktoré sú správny čas na správnom mieste." M. Valášek
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQ
Seth222
Užívateľ
Užívateľ

Založený: 16.02.2011
Príspevky: 11

PríspevokZaslal: St 16.02.11 23:03Odpovedať s citátomNávrat hore

ok, už som to rozchodil. Vedel by si sem hodiť nejaké zdrojáky, kde ide to čítanie ??.
Zobraziť informácie o autoroviOdoslať súkromnú správu
vama
Užívateľ
Užívateľ

Založený: 20.11.2009
Príspevky: 213
Bydlisko: Myjava
Vek: 19

PríspevokZaslal: St 16.02.11 23:30Odpovedať s citátomNávrat hore

tu mam clanok o tom aj s prikladom: http://www.builder.cz/art/delphi/srozhrani2.html

_________________
"Digitálna technika pozostáva len z 0 a 1, ktoré sú správny čas na správnom mieste." M. Valášek
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQ
Seth222
Užívateľ
Užívateľ

Založený: 16.02.2011
Príspevky: 11

PríspevokZaslal: St 16.02.11 23:46Odpovedať s citátomNávrat hore

vama napísal:
tu mam clanok o tom aj s prikladom: http://www.builder.cz/art/delphi/srozhrani2.html


Ok, skusim, zajtra kukni túto tému, keby som mal otázky . zatial vdaka.
Zobraziť informácie o autoroviOdoslať súkromnú správu
Seth222
Užívateľ
Užívateľ

Založený: 16.02.2011
Príspevky: 11

PríspevokZaslal: Ut 01.03.11 14:10Odpovedať s citátomNávrat hore

Vie mi niekto poradiť ako vymazať buffer ?

Čitam retazec cez
citácia:
comport.readstr(str,16);


Ked spustím prístroj prvy krat, tak čítaný retazec má korektný tvar:
"s443300000000"

Ale keď spustím program druhy krát, čítaný retazec je zle načítaný napr:
"0000s443300000"

Predpokladam že to bude súvisieť s bufferom ktorý používam daný comport. Viem nejako vymazať tieto buffery napr, pred spustením komunikácie alebo pred ukončením aplikácie ?

Príkazy ktoré sa ponúkajú:
comport.clearbuffer(true,true) . //(vstupny buff, vystupny buff) problém však je pri ukončení apikácie, kde bud to aplikácia zamrzne, alebo sa vypne korrektne.

Este tom zabudol, ze v evente Comportu -> comport.ComPortRxChar čítam cez proceduru
comport.readstr(str,16) //retazec má 16bajtov
Zobraziť informácie o autoroviOdoslať súkromnú správu
Seth222
Užívateľ
Užívateľ

Založený: 16.02.2011
Príspevky: 11

PríspevokZaslal: So 12.03.11 15:39Odpovedať s citátomNávrat hore

stačilo nastaviť EventChar na "#1", sice komunikaciu nacita sem tam zle, ale po max 2 sekundach sa sama opravi

Dalsiu zradu robila "LED diodka" ktora signalizuje komunikáciu pri cítani RxChar... pri vypnuti komportu, ju bolo treba odpojit od Comportu ... alebo ju vyhodiť .... az potom je možné korektne vypnuť aplikáciu
Zobraziť informácie o autoroviOdoslať súkromnú správu
vama
Užívateľ
Užívateľ

Založený: 20.11.2009
Príspevky: 213
Bydlisko: Myjava
Vek: 19

PríspevokZaslal: So 12.03.11 18:17Odpovedať s citátomNávrat hore

to EventChar , co znamena?

_________________
"Digitálna technika pozostáva len z 0 a 1, ktoré sú správny čas na správnom mieste." M. Valášek
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQ
Seth222
Užívateľ
Užívateľ

Založený: 16.02.2011
Príspevky: 11

PríspevokZaslal: So 12.03.11 18:39Odpovedať s citátomNávrat hore

menší preklep, má tam byť #2

V ascii je to STX.... co je prave zaciatok retazca "¬" ktory citam, v meme ma takyto cely retazec (v mojom pripade) tvar "¬44360200000000".

Na zaklade tohoto znaku #2 = ASCII alebo "¬"= memo, zacina citat (onRxchar), a v ramci toho comportu4.11 je pravdepodobne urcity algoritmus, ktory sa po X pokusoch, znazi tento znak dostat na prve miesto stringu ktory citam > readstr(str,16)...
Zobraziť informácie o autoroviOdoslať súkromnú správu
vama
Užívateľ
Užívateľ

Založený: 20.11.2009
Príspevky: 213
Bydlisko: Myjava
Vek: 19

PríspevokZaslal: So 12.03.11 22:06Odpovedať s citátomNávrat hore

A ten znak STX vo stringu, je iba len v PASCAL, OBJECT PASCAL (DELPHI) ?

Pretoze co viem, tak v C, je iba ukonceny retazec \0 .

_________________
"Digitálna technika pozostáva len z 0 a 1, ktoré sú správny čas na správnom mieste." M. Valášek
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQ
Seth222
Užívateľ
Užívateľ

Založený: 16.02.2011
Príspevky: 11

PríspevokZaslal: Ne 13.03.11 11:18Odpovedať s citátomNávrat hore

No ty pises o ukonceni retazca, ja o jeho zaciatku. V mojom pripade pristroj oznami koniec retazca ako znak CR (ASCII = #13), Priamo v tomto comporte ide prave o prvy znak.

takto: (STX)434300000000(CR), kazde jedno cislo je jeden bajt.... posiela po bajtoch a cely retazec ktory potrebujem ma velkost 16bajtov (krory nacitam cez readstr(str,16)). To STX je v meme zobrazene ako:='¬' a CR je v meme zobrazene ako prazdne miesto.
Zobraziť informácie o autoroviOdoslať súkromnú správu
vama
Užívateľ
Užívateľ

Založený: 20.11.2009
Príspevky: 213
Bydlisko: Myjava
Vek: 19

PríspevokZaslal: Ne 13.03.11 12:57Odpovedať s citátomNávrat hore

Jasne uz chapam, znak STX ti posiela samotny meraci pristroj?

_________________
"Digitálna technika pozostáva len z 0 a 1, ktoré sú správny čas na správnom mieste." M. Valášek
Zobraziť informácie o autoroviOdoslať súkromnú správuOdoslať e-mailICQ
Seth222
Užívateľ
Užívateľ

Založený: 16.02.2011
Príspevky: 11

PríspevokZaslal: Pi 18.03.11 0:39Odpovedať s citátomNávrat hore

ano, on posiela dokola toto:

(STX)434300000000(CR)(STX)434300000000(CR)(STX)434300000000(CR)(STX)434300000000(CR)(STX)434300000000(CR)(STX)434300000000(CR)(STX)434300000000(CR)(STX)434300000000(CR)(STX)434300000000(CR)(STX)434300000000(CR)(STX)434300000000(CR)..... atd....

samozrejme tie čisla sa menia...
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd