随笔分类 - serial
串口通讯编程
摘要:GPS串口数据接收程序实例 摘 要:目前GPS(全球定位系统)定位应用市场日趋成熟,正在进入应用的高速发展时期。本文以一款EverMore公司的GM-X205GPS接受模块为例,介绍了其数据格式,以及应用PIC16F874单片机RS232串口进行数据接收的程序。 1、 GPS应用简介 近年来GPS系统,已经在大地测绘、海上渔用、车辆定位监控、建筑、农业等各个领域得到广泛应用。从九十年代...
阅读全文
摘要:这个串口线把一个25 针的串行口接到9 针的串行口上,PC 一端为9针的母插头: 连接到串行设备为25 针的公插头: 25针转9针串口线信号定义 ...
阅读全文
摘要:MSComm 作为一个串行通讯控件为程序员串口通讯编程节省了很多时间。在基于对话框的应用中加入一个MSComm控件非常简单。只需进行以下操作即可: 打开“Project->Add To Project->Components and Controls->Registered Activex Controls”,然后选择控件:Microsoft Communication Control,ver...
阅读全文
摘要:工业控制中,有两种方式读下位机的状态,一种是读端口,比如采用c语言的inport()函数。一种是使用组建,微软的api-readfile(),第三方控件。读串口也能读下位机状态,读端口也能读下位机状态,有什么区别呢 1:inport只能读出寄存器8位数据,readfile()能读出很多个字符串。2:储存方式不一样,并且速度也不一样。inport是即时数据,速度比readfile要快很多,但容量小。...
阅读全文
摘要:工业控制中,有两种方式读下位机的状态,一种是读端口,比如采用c语言的inport()函数。一种是使用组建,微软的api-readfile(),第三方控件。读串口也能读下位机状态,读端口也能读下位机状态,有什么区别呢 1:inport只能读出寄存器8位数据,readfile()能读出很多个字符串。2:储存方式不一样,并且速度也不一样。inport是即时数据,速度比readfile要快很多,但容量小。...
阅读全文
摘要:#include #include #include #define LSB 0 #define MSB 1 #define RXR 0 #define TXR 0 #define IER 1 #define IIR 2 #define LCR 3 #define MCR 4 #define LSR 5 #define MSR 6 #define Com1_...
阅读全文
摘要:bool TForm1 :: OpenPorts() { //打开并设置串口 //如果打开成功:返回true,否则返回false; //如果打开成功:m_hPortsHandle含有一有效值,否则为m_hPortsHandle为NULL; ...
阅读全文
摘要:下面是MFC实现的部分关键代码(仅供参考) SendDlg::SendDlg(CWnd* pParent /*=NULL*/) : CDialog(SendDlg::IDD, pParent) { //{{AFX_DATA_INIT(SendDlg) m_Baud = -1; //}}AFX_DATA_INIT ...
阅读全文
摘要:从网上整理的文章,同样,这只是为了我增加理解记忆而做到得笔记, 不存在利用价值,纯粹是学习和记忆.抄袭也好学习也好只是让人明 白道理.主要干活的还是自己的程序. I/O设备处理必然让主程序停下来干等I/O的完成, 对这个问题有 方法一:使用另一个线程进行I/O。这个方案可行,但是麻烦。 方法二:使用overlapped I/O。 正如书上所说:“overlapped I/O是WIN32的一项技...
阅读全文
摘要:简述: Overlapped I/O也称Asynchronous I/O,异步I/O模型。异步I/O和同步I/O不同,同步I/O时,程序被挂起,一直到I/O处理完,程序才能获得控制。异步I/O,调用一个函数告诉OS,进行I/O操作,不等I/O结束就立即返回,继续程序执行,操作系统完成I/O之后,通知消息给你。Overlapped I/O只是一种模型,它可以由内核对象(hand),事...
阅读全文
摘要:Win32重叠I/O(Overloapped I/O)机制允许发起一个操作,然后在操作完成之后接受 到信息。对于那种需要很长时间才能完成的操作来说,重叠I/O机制尤其有用,因为发起 重叠操作的线程在重叠请求发出后就可以自由地做别的事情了。 在Windows NT/2000上,提供真正可扩展的I/O模型就是使用完成端口(Completion Port)的重叠I/O。 …… ...
阅读全文
摘要:函数功能描述:创建或打开一个命名的或无名的事件对象 函数原型: HANDLE CreateEvent( LPSECURITY_ATTRIBUTES lpEventAttributes, // 安全属性 BOOL bManualReset, // 复位方式 BOOL bInitialState, // 初始状态 LPCTSTR lpName // 对象名称 ); 参数...
阅读全文
摘要:用到的串口通信编程方法有:使用通信控件、在高级语言中嵌入汇编以及使用API函数。在这几种方法中,使用API函数编写的串口通信程序最为高效、灵活。串口通信编程将用到三种API函数——串口通信相关API函数、多线程API函数和实现消息机制的API函数,下面将分别介绍这几种API函数。 &nbs p; 1 与串口通信有关的API函数 Windows系统通信一般都以WOSA(Windows Op...
阅读全文
摘要:WIN95界面下的VC++串口通讯程序在WIN32下是不建议对端口进行操作的,在WIN32中所有的设备都被看成是文件,串行口也不例外也是作为文件来进行处理的。这是我的一份关于串口编程的读书笔记,对于使 用VC进行编程的同行应该有一定的帮助。 1.打开串口: 在Window 95下串行口作为文件处理,使用文件操作对串行口进行处...
阅读全文
摘要:如果想读写可靠,要根据 不同的速率和应用实际情况设置合适的值。和同步模式和异步模式、不同的通信协议无关。 COMMTIMEOUTS:COMMTIMEOUTS主要用于串口超时参数设置。COMMTIMEOUTS结构如下: typedef struct _COMMTIMEOUTS { DWORD ReadIntervalTimeout; ...
阅读全文
摘要:该函数原型: BOOL PurgeComm(HANDLE hFile,DWORD dwFlags ) HANDLE hFile //串口句柄 DWORD dwFlags // 需要完成的操作 ...
阅读全文