aaadlg.cpp

来自「本人调试通过的串口通信程序,对初学者有一定的参考价值」· C++ 代码 · 共 1,356 行 · 第 1/4 页

CPP
1,356
字号
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
									array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
								else
								{
							
									
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X42};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
										array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
							
							}

						}
						else
						{
							if(a==0x41)
								flag=1;
								j=0;
						}
						
					
						
						break;
					case 8:	
						if(flag==1)
						{	
							data8[j++] = a;
								
							if(j==33)
							{	
							 //if(j==18)/////////////CRC校验
								j=0;
								flag=0;
								count=0;
								for(m=0;m<32;m++)
									even(data8[m]);
								if(count%2==0)
									countR=1;
								else
									countR=0;
								if(countR==data8[32])
								{
									k++;
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
									array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
								else
								{
							
									
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X42};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
										array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
							
							}

						}
						else
						{
							if(a==0x41)
								flag=1;
								j=0;
						}
						
					
						
						break;
					case 9:	
						if(flag==1)
						{	
							data9[j++] = a;
								
							if(j==33)
							{	
							 //if(j==18)/////////////CRC校验
								j=0;
								flag=0;
								count=0;
								for(m=0;m<32;m++)
									even(data9[m]);
								if(count%2==0)
									countR=1;
								else
									countR=0;
								if(countR==data9[32])
								{
									k++;
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
									array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
								else
								{
							
								
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X42};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
										array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
							
							}

						}
						else
						{
							if(a==0x41)
								flag=1;
								j=0;
						}
						
					
						
						break;
					case 10:
						if(flag==1)
						{	
							data10[j++] = a;
								
							if(j==33)
							{	
							 //if(j==18)/////////////CRC校验
								j=0;
								flag=0;
								count=0;
								for(m=0;m<32;m++)
									even(data10[m]);
								if(count%2==0)
									countR=1;
								else
									countR=0;
								if(countR==data10[32])
								{
									k++;
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
									array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
								else
								{
							
								
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X42};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
										array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
							
							}

						}
						else
						{
							if(a==0x41)
								flag=1;
								j=0;
						}
						
					
						
						break;
					case 11:
						if(flag==1)
						{	
							data11[j++] = a;
								
							if(j==33)
							{	
							 //if(j==18)/////////////CRC校验
								j=0;
								flag=0;
								count=0;
								for(m=0;m<32;m++)
									even(data11[m]);
								if(count%2==0)
									countR=1;
								else
									countR=0;
								if(countR==data11[32])
								{
									k++;
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
									array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
								else
								{
							
								
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X42};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
										array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
							
							}

						}
						else
						{
							if(a==0x41)
								flag=1;
								j=0;
						}
						
					
						
						break;
					case 12:
					if(flag==1)
						{	
							data12[j++] = a;
								
							if(j==33)
							{	
							 //if(j==18)/////////////CRC校验
								j=0;
								flag=0;
								count=0;
								for(m=0;m<32;m++)
									even(data12[m]);
								if(count%2==0)
									countR=1;
								else
									countR=0;
								if(countR==data12[32])
								{
									k++;
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
									array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
								else
								{
							
									
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X42};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
										array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
							
							}

						}
						else
						{
							if(a==0x41)
								flag=1;
								j=0;
						}
						
					
						
						break;
					case 13:
						if(flag==1)
						{	
							data13[j++] = a;
								
							if(j==33)
							{	
							 //if(j==18)/////////////CRC校验
								j=0;
								flag=0;
								count=0;
								for(m=0;m<32;m++)
									even(data13[m]);
								if(count%2==0)
									countR=1;
								else
									countR=0;
								if(countR==data13[32])
								{
									k++;
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X41};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);
									for(m=0;m<5;m++)
									array.SetAt(m, TxData[m]);
									m_Comm.SetOutput(COleVariant(array)); // 发送数据
								}
								else
								{
							
									
									BYTE TxData[5]={0X55,0x55,0X00,0x00,0X42};// 准备需要发送的命令,放在TxData[]中
									CByteArray array;
									array.RemoveAll();
									array.SetSize(5);

⌨️ 快捷键说明

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