⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 windowsc++ 串口心得(activex控件).txt

📁 WindowsC++ 串口心得(ActiveX控件)
💻 TXT
字号:
1、将ActiveX控件的串口控件复制到C:/windows/system32目录中,包含Mscomm.srg, Mscomm32.ocx,Mscomm32.dep等三个文件(假设使用的是6.0的控件)。

2、运行Regsvr32  C:\windows\system32\Mscomm32.ocx,进行控件的注册。

2.5、在注册表中手工新建一个主键项:先在点击“开始”->"运行",再在中填入regedit命令打开注册表,找到HKEY_CLASSES_ROOT\Licenses,在其中添加主键
4250E830-6AC2-11cf-8ADB-00AA00C00905 并将内容设置为:kjljvjjjoquqmjjjvpqqkqmqykypoqjquoun
(一般不需执行此步骤)

3、建立项目RS232时,应用程序类型选为“基于对话框”,并在高级功能中选中“ActiveX控件”。

4、在工具箱中,右键菜单中选择“添加/移除项”,选中“COM组件”中的“Microsoft Communications Control, version 6.0”。然后将添加的图标拖到对话框中,右键选择图标,添加变量m_comm1。

5、可在OnInitDialog()中进行串口的初始化
m_comm1.put__CommPort (1);		//使用串口1
m_comm1.put_Settings ("9600,N,8,1");	//串口设置为波特率9600,无校验,8位数据位,1位停止位
m_comm1.put_InputMode (1);		//以二进制方式取得数据
m_comm1.put_RThreshold (1);		//接收缓冲区收到每一个字符都会使 MSComm 控件产生 OnComm 事件
m_comm1.put_SThreshold (0);		//发送数据不会产生 OnComm 事件
m_comm1.put_InputLen (0);		//从接收缓冲区中读取的字符数;为0时,将读取接收缓冲区中全部的内容。
m_comm1.put_PortOpen (true);		//打开串口

6、发送数据
CByteArray array;
CString cstemp;
int i;
cstemp="Hello World!";	//发送内容
//将发送数据存入array start
array.RemoveAll();
array.SetSize(cstemp.GetLength ());
for(i=0;i<cstemp.GetLength ();i++)
	array.SetAt(i,cstemp.GetAt (i));
//将发送数据存入array end
m_comm1.put_Output (COleVariant(array));	//发送数据

7、接收数据
在对话框中选中控件图标,在属性页的控件事件中对OnComm事件选择添加,程序会自动添加OnCommMscomm1()函数,在此函数中处理数据的接收。
CString cstemp1="",cstemp2;
VARIANT vtemp;
COleSafeArray cotemp;
long len1,k;
unsigned char rxdata[10000];
switch(m_comm1.get_CommEvent() )				//对OnComm事件进行选择
{ 
	case 2:						//OnComm事件为收到数据
	while(m_comm1.get_InBufferCount() >0)			//当接收缓存区还有数据未被接收
	{
		vtemp=m_comm1.get_Input();			//取得数据
		cotemp=vtemp;				//数据类型转换
		len1=cotemp.GetOneDimSize();			//得到有效数据长度
		for(k=0;k<len1;k++)
		{
			cotemp.GetElement(&k,rxdata+k);		//转换为BYTE型数组
		}
		rxdata[k]=0;
		cstemp2=rxdata;
		cstemp1+=cstemp2;				//转换为字符串
	}
		cstemp1="收到数据:"+cstemp1;
		m_list.AddString (cstemp1);			//显示接收数据
	break;
}

8、多串口的话则添加多个控件图标,每个图标添加一个变量,对应不同的串口。

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -