//B码、GPS/BD时间显示 void udpRecv_passTime(TimeInfo timeInfo, int type) { int MAX_TIME; switch (type) { case 1: MAX_TIME = 10; break; case 2: MAX_TIME = 500; break; case 3: MAX_TIME = 1000; break; default: MAX_TIME = 1000; break; } if (++datatimeIndex > MAX_TIME) { datatimeIndex = 0; if (this.IsHandleCreated) { this.BeginInvoke(new Action(() => { DateTimeFormatInfo dtFormat = new System.Globalization.DateTimeFormatInfo();//时间格式化 string nanosecond = timeInfo.millisecond.ToString("d3") + "毫秒" + timeInfo.microsecond.ToString("d3") + "微秒"; switch (timeInfo.satelliteInfo.time_state) { //B码=0、GPS/BD=0 case 0: barStaticItem3.Caption = "B码:" + System.DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒", dtFormat) + " | BD/GPS时间:" + System.DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒", dtFormat); break; //B码=0、GPS/BD=1 case 1: barStaticItem3.Caption = "B码:" + System.DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒", dtFormat) + nanosecond + " | BD/GPS时间:" + timeInfo.satelliteInfo.year.ToString() + "年" + timeInfo.satelliteInfo.month.ToString() + "月" + timeInfo.satelliteInfo.day.ToString() + "日" + timeInfo.satelliteInfo.hour.ToString() + "时" + timeInfo.satelliteInfo.minute.ToString("d2") + "分" + timeInfo.satelliteInfo.second.ToString("d2") + "秒" + nanosecond; break; //B码=1、GPS/BD=0 case 2: barStaticItem3.Caption = "B码:" + timeInfo.year.ToString() + "年" + timeInfo.month.ToString() + "月" + timeInfo.day_offset.ToString() + "日" + timeInfo.hour.ToString() + "时" + timeInfo.minute.ToString("d2") + "分" + timeInfo.second.ToString("d2") + "秒" + nanosecond + " | BD/GPS时间:" + System.DateTime.Now.ToString("yyyy年MM月dd日HH时mm分ss秒", dtFormat) + nanosecond; break; //B码=1、GPS/BD=1 case 3: barStaticItem3.Caption = "B码:" + timeInfo.year.ToString() + "年" + timeInfo.month.ToString() + "月" + timeInfo.day_offset.ToString() + "日" + timeInfo.hour.ToString() + "时" + timeInfo.minute.ToString("d2") + "分" + timeInfo.second.ToString("d2") + "秒" + nanosecond + " | BD/GPS时间:" + timeInfo.satelliteInfo.year.ToString() + "年" + timeInfo.satelliteInfo.month.ToString() + "月" + timeInfo.satelliteInfo.day.ToString() + "日" + timeInfo.satelliteInfo.hour.ToString() + "时" + timeInfo.satelliteInfo.minute.ToString("d2") + "分" + timeInfo.satelliteInfo.second.ToString("d2") + "秒" + nanosecond; break; default: break; } })); } } }
public void PushChannelData(byte[] t, double StartFreq, int channel, DataTime datatime, TimeInfo timeInfo) { m_channel = channel; m_StartFreq = StartFreq; m_StopFreq = m_StartFreq + 0.5;//每个子带的带宽LX /*记录文件初始化*/ if (m_FlagSaveLast == false && m_FlagSave == true) { string time = timeInfo.year.ToString("d") + "_" + timeInfo.month.ToString("d") + "_" + timeInfo.day_offset.ToString("d") + "_" + timeInfo.hour.ToString("d") + "_" + timeInfo.minute.ToString("d") + "_" + timeInfo.second.ToString("d") + "_" + timeInfo.millisecond.ToString("d") + "_" + timeInfo.microsecond.ToString("d"); path = @"\...\...\RecvData\"; DirectoryInfo fi = new DirectoryInfo(path); if (!fi.Exists) { fi.Create(); } fs = new FileStream(path + @"\" + time + ".dat", FileMode.OpenOrCreate | FileMode.Append); m_FlagSaveLast = true; } else if (m_FlagSaveLast == true && m_FlagSave == false) { fs.Close(); m_FlagSaveLast = false; } if (m_FlagSave == true) { fs.Write(t, 0, (int)t.Length); } if (m_FlagTime == true) { m_time_count++; DataAndTime nDataAndTime = new DataAndTime(); nDataAndTime.Time = datatime; nDataAndTime.Data = new byte[(int)t.Length]; Buffer.BlockCopy(t, 0, nDataAndTime.Data, 0, (int)t.Length); m_queue.Enqueue(nDataAndTime); if (m_time_count >= 1250) { m_time_count = 0; m_FlagTime = false; } } ///////////////////////////////////////////////////////////////// }