欢迎来到一句话经典语录网
我要投稿 投诉建议
当前位置:一句话经典语录 > 口号 > vc获取设备串口号

vc获取设备串口号

时间:2018-06-04 08:10

怎样用vc实现pc机之间的串口通信

1、一般PC电脑本身就自带1个,需要多个的话需要用扩展卡。

2、程序:\\\/\\\/枚举串口\\\/\\\/参数:bEnablePort,哪个串口有效,bEnablePort[0]表示COM1,bEnablePort[n-1]表示COMn\\\/\\\/返回值:有效的串口个数int EnumAllComPort(bool* bEnablePort){ int nCommSum = 0;\\\/\\\/串口个数 HANDLE hCom; CString str; for(int i=1;i<=256;i++) { str.Format(_T(COM%d),i); hCom = CreateFile(str, GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL); if (hCom == INVALID_HANDLE_VALUE) { bEnablePort[i-1] = false; continue; } else { bEnablePort[i-1] = true; } CloseHandle(hCom); nCommSum++; } return nCommSum;}

VC++实现串口通信

你现在是不是能显示在EDIT内,比如说你获取的串存储在CString strall;strall = 123456789; 共九个字符,前 CString str1;str1 = strall.left(3);中间三位 CString str2;str2 = strall.left(6).right(3);最后三位 CString str3;str3 = strall.right(3);QQ 154504457 只有晚上6.00 到 11.00 在线。

怎样实现基于VC++的串口通讯呢

希望能详细一些。

我试着编过,可是就是实现不了通讯

首先,你要知道有个串口调试工具的小程序,用它确保你的串口正常工作。

其次,Windows对串口的支持最底层操作是API方式,也就是你直接调用windows的API对串口操作,需要设定一大堆参数,波特率,校验等等,这种方式很复杂,对初学者难度很大,不推荐。

所以,你最好选择现成的串口编程组件,有名的有ActiveX空间MSCOM,也可以采用现成的串口编程类,以及别人的示例,看看这个文章不错。

vc++ 串口通讯

\\\/\\\/很有可能是OnCtlColor中的程序有误 由于你没有把整段程序发出来, 我只能发一段程序你参考\\\/\\\/控制控件字体及背景的颜色 黑底 红字HBRUSH CKJScrDispDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) { HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); \\\/\\\/ TODO: Change any attributes of the DC here COLORREF clr = RGB(0,0,0); static HBRUSH m_brMine = ::CreateSolidBrush(clr); if(nCtlColor == CTLCOLOR_EDIT) \\\/\\\/edit 控件 { pDC ->SetBkColor(clr); pDC ->SetTextColor(RGB(255,255,0)); return m_brMine; } if (nCtlColor == CTLCOLOR_STATIC) \\\/\\\/staic 控件 { pDC ->SetBkColor(clr); pDC ->SetTextColor(RGB(255,0,0)); return m_brMine; } CFont *OldFont=GetFont(); pDC->SelectObject(OldFont); pDC->SetBkColor(GetSysColor(COLOR_WINDOWTEXT));\\\/\\\/COLOR_BTNFACE pDC->SetTextColor(GetSysColor(CTLCOLOR_EDIT));\\\/\\\/COLOR_BTNFACE \\\/\\\/OldFont->DeleteObject(); \\\/\\\/ return m_brMine; \\\/\\\/作为约定,返回背景色对应的刷子句柄 \\\/\\\/ TODO: Return a different brush if the default is not desired \\\/\\\/return hbr;}

vc串口通讯方法

123456789是缓冲区内的数据。

memcpy(d, s, 3);memcpy(d, s+3, 3);memcpy(d, s+6, 3)1次取3个字节,memcpy第1个参数目的地址,移动s指针的首地址,即可。

具体请查看memcpy函数用法。

有机会一起讨论,计算机编程群:568187

vc++ 串口通讯

推荐 龚建伟 的 入门书籍Visual C++_Turbo C串口通信编程实践有 pdf 电子文档找不到 可以 联系

求VC++串口读写代码

VC串口通信最简单的方法就是直接用MSComm控件(当然你也可以不用直接用代码),这个需要添加一下,详细用法不方便贴这里,我的空间有保留(俊忆陈年 ),不过看描述你对VC一窍不通,因此可以的话我建议你还是用VB做比较好,VC出了错不像VB那么容易搞定,如果有需要我有做过的项目可以给你参考(有些复杂).另外无限模块是什么模块

如果是GSM的需要了解GSM的AT指令(其实也不难)和向他要通信协议才好解析。

声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。联系xxxxxxxx.com

Copyright©2020 一句话经典语录 www.yiyyy.com 版权所有

友情链接

心理测试 图片大全 壁纸图片