PC 時間を表示したい場合は、以下のコーディングを使用します。
System.Windows.Forms.Timer tmr = null;
private void StartTimer()
{
tmr = new System.Windows.Forms.Timer();
tmr.Interval = 1000;
tmr.Tick += new EventHandler(tmr_Tick);
tmr.Enabled = true;
}
void tmr_Tick(object sender, EventArgs e)
{
textBox6.Text = DateTime.Now.ToString("dd/MM/yy HH:mm:ss");
}
private void Form1_Load(object sender, EventArgs e)
{
StartTimer();
}
しかし、私はPCの時間を表示したくありません。別の時間 (私の場合はマイクロコントローラーからの rtc 時間) を表示したいです。
シリアル ポートから rtc 時刻を取得すると、テキスト ボックスに「09:00:00」と表示されます。そこはただ静的ですよね?テキストボックスで実行/インクリメントするにはどうすればよいですか?
上記のコーディングから変更した以下を試しました:
System.Windows.Forms.Timer rtc = null;
private void StartRTC()
{
rtc = new System.Windows.Forms.Timer();
rtc.Interval = 1000;
rtc.Tick += new EventHandler(rtc_Tick);
rtc.Enabled = true;
}
int i = 1;
DateTime dt = new DateTime();
void rtc_Tick(object sender, EventArgs e)
{
textBox17.Text = dt.AddSeconds(i).ToString("HH:mm:ss");
i++;
}
しかし、テキスト ボックスに表示される時間は、常に 00:00:00 から始まります。
マイクロコントローラ rtc から取得した時間にインクリメントを開始するにはどうすればよいですか?