Autor Téma: Comport - otevřeno/zavřeno  (Přečteno 133 krát)

Offline Faltynek

  • Plnoletý
  • ***
  • Příspěvků: 168
  • Karma: 2
    • Verze Delphi: D5 Enterprise, D2009
Comport - otevřeno/zavřeno
« kdy: 21-05-2019, 15:52:24 »
Dobrý den,
co se stane s otevřeným sériovým portem, když program, co ho má otevřený, spadne?
Chci tam posílat a číst data v intervalech po vteřině, a uvažuji, jestli ho po načtení nezavřít a pak zas neotevřít, kdyby to přes všechnu snahu spadlo na něčem, co se děje mezi čteními.
Ví někdo, jak moc zdržuje otevírání a zavírání sériového portu?

Dalibor
Dalibor (D2009 Enterprise, dřív D5Enterprise)

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 202
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Comport - otevřeno/zavřeno
« Odpověď #1 kdy: 21-05-2019, 20:14:53 »
Otevreny comport je jako exkluzivne otevreny soubor. Ten se take, jako vsechny objekty jadra, pri ukonceni procesu uvolni.

Samotne pripojeni ci odpojeni od portu je docela rychle. Co nekdy rychle neni, jsou nektera pripojena zarizeni. Uz jsem se setkal s tim, ze nekterym to chvili trva, nez zareaguji na otevreny port.

Kazdopadne tvuj zamysleny model chovani sam u nekterych zarizeni pouzivam. Ale tam to mam spise na to, ze samotna obsluha je kratka (jeden dotaz a jedna odpoved), nezalezi moc na reakcni dobe, ale velmi se mi hodi, ze mohu beztrestne zarizeni kdykoliv fyzicky odpojit nebo pripojit. Takze pripojim, dotaz, odpoved, odpojim. A chvili spim... a pak opakuji znova.

Offline Faltynek

  • Plnoletý
  • ***
  • Příspěvků: 168
  • Karma: 2
    • Verze Delphi: D5 Enterprise, D2009
Re:Comport - otevřeno/zavřeno
« Odpověď #2 kdy: 22-05-2019, 09:44:44 »
Udělám to taky tak. Jenom ještě si nejsem jistý, jestli musím vždycky znova port nastavovat GetCommState a SetCommState. Řekl bych, že ne.?
Dalibor (D2009 Enterprise, dřív D5Enterprise)

Offline geby

  • Plnoletý
  • ***
  • Příspěvků: 202
  • Karma: 16
    • Verze Delphi: 7, 2007, XE2, 10.2
    • Synapse
Re:Comport - otevřeno/zavřeno
« Odpověď #3 kdy: 22-05-2019, 15:30:51 »
Když to nenastavíš, použije se poslední konfigurace. A nikdy nevíš, jestli ti tam mezitím někdo nevlezl a neprenastavil ti to. Pro jistotu to proto nastavuji pokaždé.