资源简介
C# 编写的 蓝牙GPS定位软件 可通过蓝牙GPS 校准时间
代码片段和文件信息
using System;
using System.IO;
using System.Drawing;
using System.ComponentModel;
using System.Windows.Forms;
using System.IO.Ports;
using System.Threading;
using System.Runtime.InteropServices;
using System.Collections;
interface ComPort{
void Open();
void Close();
void SetPortName(string name);
string GetPortName();
void SetBaudRate(int rate);
int GetBaudRate();
string ReadLine();
void SetLocalTime();
int ReadByte();
}
public struct SystemTime{
public short wYear;
public short wMonth;
public short wDayOfWeek;
public short wDay;
public short wHour;
public short wMinute;
public short wSecond;
public short wMilliseconds;
}
public class CommPort:ComPort
{
private string portName;
private int baudRate;
private byte Parity; // 0-4=nooddevenmarkspace
private byte StopBits; // 012 = 1 1.5 2
private int hComm = -1;
private bool opened = false;
private const uint GENERIC_READ = 0x80000000;
private const uint GENERIC_WRITE = 0x40000000;
private const int OPEN_EXISTING = 3;
private const int INVALID_HANDLE_VALUE = -1;
public CommPort(){
portName = portName==null?“COM!“:portName;
baudRate = baudRate==0?4800:baudRate;
Parity= 0;
StopBits =1;
// ReadTimeout =5000;
}
public bool Opened{
get{
return opened;
}
set{
opened = value;
}
}
public string PortName{
set{
portName = value;
}
get{
return portName;
}
}
public void SetPortName(string name){
portName = name;
}
public string GetPortName(){
return portName;
}
public int BaudRate{
set{
baudRate = value;
}
get{
return baudRate;
}
}
public void SetBaudRate(int rate){
baudRate = rate;
}
public int GetBaudRate(){
return baudRate;
}
//读写串口的超时有两种:间隔超时和总超时。间隔超时是指在接收时两个字符之间的最大时延。
//总超时是指读写操作总共花费的最大时间。写操作只支持总超时,而读操作两种超时均支持。
//用COMMTIMEOUTS结构可以规定读写操作的超时。成员都以毫秒为单位.总超时的计算公式是:
//总超时=时间系数×要求读/写的字符数+时间常量
//例如,要读入10个字符,那么读操作的总超时的计算公式为:
//读总超时=ReadTotalTimeoutMultiplier×10+ReadTotalTimeoutConstant
//可以看出:间隔超时和总超时的设置是不相关的,这可以方便通信程序灵活地设置各种超时。
//如果所有写超时参数均为0,那么就不使用写超时。如果ReadIntervalTimeout为0,
// 那么就不使用读间隔超时。如果ReadTotalTimeoutMultiplier 和 ReadTotalTimeoutConstant 都为0,
// 则不使用读总超时。如果读间隔超时被设置成MAXDWORD并且读时间系数和读时间常量都为0,
// 那么在读一次输入缓冲区的内容后读操作就立即返回,而不管是否读入了要求的字符。
// 在用重叠方式读写串口时,虽然ReadFile和WriteFile在完成操作以前就可能返回,
// 但超时仍然是起作用的。在这种情况下,超时规定的是操作的完成时间,
//而不是ReadFile和WriteFile的返回时间.
private struct COMMTIMEOUTS
{
public uint ReadIntervalTimeout; //读间隔超时
public int ReadTotalTimeoutMultiplier; ////读时间系数
public int ReadTotalTime
- 上一篇:C#用户权限 不同的用户登录进来有不同的权限!
- 下一篇:C# .net 单点登录
相关资源
- C# .net 单点登录
- C#用户权限 不同的用户登录进来有不
- C#版本的网络调试助手源码
- 远程唤醒 wake on lanc#
- C#控件大全C#所有的控件
- 毕业设计 患者监护系统
-
C#读取xm
l文件并写入数据库 - MVC简单C#
- hook源码c#编写的一些hook的例子203000
- 用c#语言实现写字板的界面及写字板涉
- c#绘图板源码直线,矩形,圆形,填充
- C#高级编程练习题目内附答案
- 基于c/s模式的简单聊天程序
- C#实现的WEB浏览器
- C#多线程刷流量
- C# 从Excel导入数据到DataGridView、SqlSe
- C#播放mp3的程
- asp.net上传大文件显示进度条百分比
- C#开发的QQ机器人,适用于任意版本
- C# socket 通信 允许发送图片,文字,文
- C# 网络编程ftpvs2012
- 使用C#开发的基于WCF和PNRP的P2P文件共
- C#引用Visa读取示波器数据
- 连锁店管理系统c#含数据库
- 104电力规约的c#部分功能实现
- c#二维码生成
- 迷宫自动生成.zip
-
C# winfrom操作xm
l_读写修改xm l及写入 - C# 角点检测
- C# 西门子PLC ppi通讯程序
评论
共有 条评论