praegune kellaaeg 19.04.2024 07:47:41
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
ToivoLep
Kreisi kasutaja
liitunud: 18.05.2010
|
25.01.2019 12:26:55
Küsimus vb.net spetsidele RS232 kohta |
|
|
Tere,
Olukord millega ei ole veel kokku puutunud. Sõnumi struktuur selline:
ENQ>
<ACK
STX> jutt
<ACK
STX> jutt
<ACK
STX> jutt
<ACK
STX> jutt
<ACK
STX> jutt
<ACK
>EOT
Kasutasin SerialPort.DataReceived eventi mis mõistagi hakkab iga kord pihta kui midagi kohale jõuab. Hetkel katseeksitusmeetodil kirjutasin, et alati STX ja ENQ algusega sõnumitele vastatakse ACK. Readexisting uuendab invokega texboxi ja vähemalt näen mis kohale on jõudnud.
Kuidas oleks selline olukord kõige mõistlikum lahendada? Kuna ilmselgelt ei vastata ACK õigel hetkel siis saan iga "jutu" topelt. Õige see ei ole aga samas on korrapärasus olemas, vähemalt hetkel. Mõtlesin äkki tekstikasti asemel puhvrisse kirjutada ja kogu sõnumi lõpus (alati üks sümbol) töötlus teha, puhver tühjaks ja uuele tiirule?
Või on mingi põnevam variant mida noob näha ei suuda?
|
|
Kommentaarid: 63 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
1 :: |
61 |
|
tagasi üles |
|
|
Supiplex
HV veteran
liitunud: 11.12.2002
|
25.01.2019 13:34:14
|
|
|
tsitaat: |
Mõtlesin äkki tekstikasti asemel puhvrisse kirjutada ja kogu sõnumi lõpus (alati üks sümbol) töötlus teha, puhver tühjaks ja uuele tiirule? |
Ma VB.net-ist ei tea midagi, aga asünkroonselt sissetulevat baidijada üldiselt nii töödeldakse. St sul on vaja sissetulevat striimi puhvrisse kopeerida ja sealt otsida, kas oodatud pakett on lõpuni kohale jõudnud või mitte.
Boonusena tuleb arvestada, et serialis lähevad vahel harva baidid kaotsi või korrumpeeruvad. Tolle probleemi vastu aitab, kui ehitada paketi küpsemise timeout või arvestada, et uus pakett võib hakata sisse jooksma enne, kui eelmise lõpp on korrektselt tuvastatud.
_________________ The young lady had an unusual list,
Linked in part to a structural weakness.
She set no preconditions. |
|
Kommentaarid: 38 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
1 :: |
34 |
|
tagasi üles |
|
|
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|