投稿者 魔界の仮面弁士  (社会人) 投稿日時 2017/10/4 10:25:23
>> Dim dtBegin As Date = [SerialPortをOpenした時の時刻]
> この記述がよくわかっていません。=の右側は、どう記述すれば良いのでしょうか?
 
[2014/10/30 18:18:36](VB初心者)【SerialPortコントロールについて】
http://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=20686

たとえば上記には、「SerialPortをOpenする処理」のために、Button1 を用意しています。
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    '(中略) 
    SerialPort1.Open()
    '(中略) 
End Sub


これに相当する処理を実行する際に、現在時刻(Now)をフィールド変数に保存しておき、
それを受信処理で利用するということです。

たとえばこんな感じ。(実際には Try~Catch も必要ですが)
Private portOpenTime As Date
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    '(中略) 
    portOpenTime = Now
    SerialPort1.Open()
    '(中略) 
End Sub

Private Sub SerialPort1_DataReceived(…
    Dim dtCurrent As Date = DateTime.Now   'データを受信した時刻 
    Dim span As TimeSpan = dtCurrent - portOpenTime  'Open してからの経過時間 
    Dim totalMilliseconds As Double = span.TotalMilliseconds '何ミリ秒経過したのか 
    '(中略) 
End Sub