 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14679 Aktiv.: 61.79
|
Objavljeno: Sre Dec 12, 2007 4:40 pm Naslov sporočila: Delphi ter zajem podatkov na serijskem portu |
|
|
V službi za potrebe testiranja ter meritev uporabljamo posebno orodje. V sklopu orodja je tudi tehnica ter pomično merilo katero pa želim uporabiti za svojo meritev.
Ker so mi znani porti ter parametri sem najprej spisal preprost program, da sem videl kaj sploh posamezna zadeva pošilja. Sedaj sem spisal kompleksnejši program, kjer iz poslanih podatkov izluščim potrebne jih obdelam ter jih zapišem v bazo.
Za delo s serijskim portom po priporočilu Darkota uporabljam SerialPortNG. Zadeva dela čisto vredo. Zgodilo pa se mi je, da je zadeva "odpovedala". Podatke sprejemam ob dogodku "SerialPortClusterEvent" Očitno do dogodka "ne pride". Port ni blokiran, kajti če program zapustim, ter poženem ogrinalni sofwere le ta dela. Moj program pa začne delati le ob restatu računalnika. Še tole. Uprabljam dva porta COM4 ter COM5 Naj port takrat, ko ga ne rabim zaprem? Port takoj ob zagonu progama odprem.
Edit:
Mogoče našel vzrok. V seriji naključij pri nadaljni obdelavi bi lahko prišlo do deljenja 0. Tole sem popravil - sprobal bom jutri v službi. Program takrat, ko odpove ne "crkne" Ročni vnos je še veno možen.
PS.
Pozna kdo kako lowcost varianto tehnice s serijskim izhodom, natančnosti 1g do recimo max 1kg . _________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.51
|
Objavljeno: Sre Dec 12, 2007 5:43 pm Naslov sporočila: |
|
|
1: Za Delphi obstaja unit slovenskega avtorja, ki je baje super dober (ne bi vedel kako je primerjalno, ker nisem uproabljal drugih).
2: Divide by zero bi moral biti exception; ce se program ne ustavi in nisi eksplicitno ujel napake, to ne more biti vzrok nedelovanja. _________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
aly Član



Pridružen-a: Tor 28 Sep 2004 14:51 Prispevkov: 9407 Aktiv.: 39.60 Kraj: Kranj - struževo
|
Objavljeno: Sre Dec 12, 2007 5:45 pm Naslov sporočila: |
|
|
Za COM port ne uporabljaj raznih dodatkov in bombončkov. Več stvari kot imaš, večja je možnost za hrošče. Jaz sem imel hude probleme z njimi.
Jaz in Jur uporabljava original procedure iz Windowsov (API).
Lepi primeri uporabe so tu na forumu. Priporočam!
Če je možnost, da v programu pride do deljenja z 0, se prepričaj, da imaš v Compilerju nastavljena vsa preverjanja (Range checking, overflow,...).
To sicer upočasni izvajanje programa, ampak neopazno. (mikrosekunde) _________________ I'm going to stand outside, so if anyone asks, I'm outstanding  |
|
Nazaj na vrh |
|
 |
mucek4 Član


Pridružen-a: Sob 18 Jun 2005 20:52 Prispevkov: 2952 Aktiv.: 12.43 Kraj: Tržič - Mesto med gorami
|
Objavljeno: Sre Dec 12, 2007 7:49 pm Naslov sporočila: |
|
|
Ali in Jur. Ko sem sam prenašal stvari preko API klicev sem naletel na problem. Niz, ki si ga poslal ali prejel na port ni smel vsebovati #0.
Kako vidva rešujeta ta problem? |
|
Nazaj na vrh |
|
 |
micabauc Član


Pridružen-a: Tor 03 Jun 2003 7:12 Prispevkov: 177 Aktiv.: 0.75 Kraj: Celje
|
Objavljeno: Sre Dec 12, 2007 7:57 pm Naslov sporočila: |
|
|
String se zaključi z #0, zato.
Uporabljaj tekst (BCD) za prenos, ne binarnih vrednosti. Tu so še druge omejitve. Glej ASCII kode od 0x00 do 0x1F (NULL, BELL, ACK, XON, XOF,....) |
|
Nazaj na vrh |
|
 |
GJ Član


Pridružen-a: Čet 02 Nov 2006 15:51 Prispevkov: 946 Aktiv.: 4.16 Kraj: Ljubljana
|
Objavljeno: Sre Dec 12, 2007 11:53 pm Naslov sporočila: |
|
|
micabauc je napisal/a: |
String se zaključi z #0, zato.
Uporabljaj tekst (BCD) za prenos, ne binarnih vrednosti... |
Ahh..
Odvisno kakšno komunikacijo uporabljaš!
Če hočeš EOF preverjanje izklopit nastaviš v DCB.Flags zastavico fBinary na 1, pa bo šlo vse čez port vključno z #0! Pa v help poglej kaj je to DCB struktura!
LP GJ |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 9 dni
Powered by phpBB © 2001, 2005 phpBB Group
|