Serialiga suhtlemine VB6-s
#1
Hei elektroonikud!

Kirjutasin Tipi kuupsatelliidi toiteplaadi testimiseks VB6-s pisikese proge. Kõik töötab aga ma ei suuda kuidagi saata päringuid kiiremini kui ca 300ms tagant. Seda on ikka häbematult vähe küll. Bootloaderi kasutamine võtab ca 15minutit...
Tundub, et süüdlaseks on funktsioon DoEvents (), mida olen sunnitud kasutama et üleüldse midagi pordist kätte saada. F-n annab juhtimise üle op-süsteemile, mis siis jobutab mõnuga...
Mida teha? TAhaks ikka vähemasti iga 10ms tagant plaati pommitada.
Uuemat VB-d nagu eriti ei viitsiks õppima hakata kui just teisiti ei saa. TEgelikult korra siiski proovisn ja nagu polnud märkimisväärselt kiirem. Samas oli serialiga suhtlus ikka väga mäda Sad
Jah, saan kirjutada mõnele teisele PICile sobiva koodi (ja hetkel proovina ka niiviisi) aga siis ma ei saa kenasti kõiki näite ülevaatlikule ekraanipildile ja...on nagu veidi kummaline lähenemine anyway.

Head soovitused on oodatud.

Veljo
Vasta
#2
(26-02-2016, 10:18 PM)felch Kirjutas: Hei elektroonikud!

Kirjutasin Tipi kuupsatelliidi toiteplaadi testimiseks VB6-s pisikese proge. Kõik töötab aga ma ei suuda kuidagi saata päringuid kiiremini kui ca 300ms tagant. Seda on ikka häbematult vähe küll. Bootloaderi kasutamine võtab ca 15minutit...
Mis PIC on kasutusel? (felch== PIC  Smile )
Just testisin oma PIC18F4550 kivi. 20 MHz

Programm, mõlemas arvutis C :
Võtan aja (H. s ms), kirjutan faili, saadan COM>>USB>> PIC
Loen PIC >> USB >> COM, võtan aja, kirjutan faili

Aegade vahe oli väike, alla millisek, sama arv.
Või ka 10 ms kui PIC-i käsk eeldas tegevust ja mitte ainult vastuse kirjutust.
____
Boodiga programmi vahetus on ca 30 sek kokku - käivitus, laadimine, kirjutus, käivitus.
Nii tundub, ei mõõtnud.
Vasta
#3
PIC18F87J94 aga asi pole temas vaid VB koodis mida ma ei suuda kuidagi kiiremini jooksutada.
SAadan päringu ja saan kohe vastuse. Järgmine päring ei lähe varem kui kuskil 300ms möödudes. Saadan taimeri evendi peale. Kirjutan taimerisse 100ms, tegelikult jobutab ikka 300, kirjutan 400, ootab 400.
Selles on probleem.
Vasta
#4
(29-02-2016, 09:33 AM)felch Kirjutas: PIC18F87J94 aga asi pole temas vaid VB koodis mida ma ei suuda kuidagi kiiremini jooksutada.
SAadan päringu ja saan kohe vastuse. Järgmine päring ei lähe varem kui kuskil 300ms möödudes. Saadan taimeri evendi peale. Kirjutan taimerisse 100ms, tegelikult jobutab ikka 300, kirjutan 400, ootab 400.
Selles on probleem.
Kui seal on tegu toitega siis kas see on midagi digiossi moodi?
kes teeb päringu ja kuhu see läheb?
Kas sealon ainult PIC või on ka mingi teine arvuti kes pärib ja saab vastuseid?
Minul on kasutusel selline kahe arvuti tandem.
PC kamandab ja slvestab ning PIC teeb.

Kui saaks aru mis ja kuidas saaks kaasa mõelda.
Vasta
#5
Minu huvi selle teema vastu on seotud ühe (võibolla) natuke sarnase riistaga.
Seal ajavad PIC ja PC  omavahel juttu ja nüüd on probleemiks kerkinud et
PC ja Windows 7, 10 ei taha enam niimoodi, vanal viisil, vestelda.
Samas nt COMDebug suudab infot vahetada ka W10 peal.

Pakutakse uusi drivereid aga need siiani leitud on rar- is koos ja küsivad PSW-d Sad

Eks ma siis üritan kuskilt sõpru leida ja vestlust alustada.

Sellised lood siis.
Vasta
#6
PIC ja arvuti vestlevad omavahel. PIC saab hakkama, arvuti mitte.
Vasta
#7
(03-03-2016, 10:18 AM)felch Kirjutas: PIC ja arvuti vestlevad omavahel. PIC saab hakkama, arvuti mitte.
Kena,  mul ka vestlevad.
Arvuti saadab käsu ja PIC teeb midagi ning siis vastab .

Kirjutasin aja mõõteprogrammi.
Osa asju (nt ver nr küsimine) on alla msek.
Osa käske on pikad (nulli minek, ratsu käik). kuni 3,7 sek

Ühendus käib nii et avatakse COM nimega fail, kui avaneb, siis sinna
kirjutab ja loeb ning see läheb läbi USB PICi.
Töötab kenasti XP all.

Teine arvuti, kus on Windows 7, tunneb ära USB otsas PICi.
Aga minu programm ei vaheta infot.
netist võetud ComDebug vahetab.

Katsusin netist leida win 7,8,10 driverit aga kõigi loli mingi probleem
(Linux, rar PSW jne)

Kuidas Sinu PC pöördud pordi poole?
__________
Kirjutades tuli idee, proovin.
Vasta
#8
(03-03-2016, 07:51 PM)A.R. Kirjutas:
(03-03-2016, 10:18 AM)felch Kirjutas: PIC ja arvuti vestlevad omavahel. PIC saab hakkama, arvuti mitte.
Kena,  mul ka vestlevad.
Arvuti saadab käsu ja PIC teeb midagi ning siis vastab .

Kirjutasin aja mõõteprogrammi.
Osa asju (nt ver nr küsimine) on alla msek.
Osa käske on pikad (nulli minek, ratsu käik). kuni 3,7 sek

Ühendus käib nii et avatakse COM nimega fail, kui avaneb, siis sinna
kirjutab ja loeb ning see läheb läbi USB PICi.
________________________________________
Otsisin netist ja ongi
http://forum.arduino.cc/index.php?topic=343626.0
üks ja ainus!

Kena jutt: Kurdetakse et mul on arvutis COM3 aga "\\\\.\\COM1" seda ei ava.
Ei saa aru miks ta peaks avama.



Töötab kenasti XP all.

Teine arvuti, kus on Windows 7, tunneb ära USB otsas PICi.
Aga minu programm ei vaheta infot.
netist võetud ComDebug vahetab.

Katsusin netist leida win 7,8,10 driverit aga kõigi loli mingi probleem
(Linux, rar PSW jne)

Kuidas Sinu PC pöördud pordi poole?
__________
Kirjutades tuli idee, proovin.
________________________
Oligi nii:
Win XP all avab Com_Name i nimi COM2
aga WIn 7 all on vaja Com_Name i nimi \\\\.\\COM2

JA TEGI LAHTI.
Katstasin seda kunagi 2010a.
Aga siis polnud Win 7 ja polnud vahet.

 DriverHandle = CreateFile (Com_Name, GENERIC_READ | GENERIC_WRITE,
0, NULL, OPEN_EXISTING, 0, NULL);

Mina sain targemaks.
Kui tahad ja sobib võin saata prooviks nii exe kui C.
Vasta
#9
Minu kood on kirjutatud VB6-s. Suhtleb lihtsalt serialiga. USBist ja failidest pole juttu. Sinu kood tõenäoliselt minu devicega ei suhtle.
Vasta
#10
(04-03-2016, 10:21 AM)felch Kirjutas: Minu kood on kirjutatud VB6-s. Suhtleb lihtsalt serialiga. USBist ja failidest pole juttu. Sinu kood tõenäoliselt minu devicega ei suhtle.

Mille kaudu see suhtlus käib?
Milline SERIAL?
COM PORT?
______________________
See fail asi pole päris fail vaid on samasugune avamise käsk OPEN ja siis ka CLOSE.
Aga avaneb tegelikult Port ja arvuti sees on ta COM ja väljas on USB.
Vasta


Alamfoorumi hüpe:


Kasutaja, kes vaatavad seda teemat: 5 külali(st)ne