labwindowscvi6串行口通信和网络数据传输

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• TCP服务器应用程序一旦向系统注册,就等待客户 应用程序的连接请求;而客户应用程序只能向已经 存在的服务器应用程序请求连接。
• 每个TCP服务器需要主机名(如:aaa.bbb.ccc)或主 机IP地址(如:123.456.78.90)和这个主机的唯一端 口号
2020/2/26
5/11
• 服务器函数
2020/2/26
2/11
• 打开配置和关闭
▪ int OpenComConfig (int COM_Port, char Device_Name[], long Baud_Rate, int Parity, int Data_Bits, int Stop_Bits, int Input_Queue_Size, int Output_Queue_Size);
• 控制
▪ int FlushInQ (int COM_Port); ▪ int FlushOutQ (int COM_Port);
2020/2/26
3/11
• 状态查询
▪ int GetInQLen (int COM_Port); ▪ i = GetInQLen (1); ▪ int GetOutQLen (int COM_Port); ▪ i = GetOutQLen (1);
▪ i=ServerTCPWrite (g_hconversation, transmitBuf, strlen (transmitBuf) + 1, 1000) ;
▪ int DisconnectTCPClient (unsigned int Conversation_Handle);
• 客户机函数
▪ dataSize = ServerTCPRead (g_hconversation, receiveBuf, dataSize, 1000);
2020/2Leabharlann Baidu26
6/11
▪ int ServerTCPWrite (unsigned int Conversation_Handle, void *Data_Pointer, unsigned int Data_Size, unsigned int Time_Out);
1. 串行口通讯
• RS-232端口定义
1
载波检测
数据装置就绪
6
2
接收数据
请求发送
7
3
发送数据
清除发送
8 4
数据终端就绪
振铃指示
9
5
信号地
2020/2/26
1/11
• 数据传输格式
起始位
ASCII码
奇偶 停止位 校验位
• 电气特性
▪ 负逻辑:1=-5V~-15V, 0=+5V~+15V ▪ 最高速率:20kbit/s ▪ 最远距离:15m
2020/2/26
4/11
网络通讯
2. TCP协议(Transmission Control Protocol传 输控制协议 )
• 使用TCP进行网络通信时每个连接包括一个服务器 和一个客户。TCP服务器能通过网络向客户应用程 序发送数据或从客户应用程序接收数据,客户应用 程序也可以向服务器应用程序发送数据或从服务器 应用程序接收数据;
▪ i = OpenComConfig (1, “”, 14400, 0, 7, 1, 512, 512); ▪ int CloseCom (int COM_Port); ▪ i = CloseCom (1);
• 读写
▪ int ComRd (int COM_Port, char Buffer[], int Count); ▪ i = ComRd (1, buf, 128); ▪ int ComWrt (int COM_Port, char Buffer[], int Count); ▪ i = ComWrt (1, buf, 128); ▪ int ComRdByte (int COM_Port); ▪ int ComWrtByte (int COM_Port, int Byte);
• 事件处理
▪ int InstallComCallback (int COM_Port, int Event_Mask, int Notify_Count, int Event_Character, ComCallbackPtr Callback_Function, void *Callback_Data);
▪ int RegisterTCPServer (unsigned int Port_Number, tcpFuncPtr Callback_Function, void *Callback_Data);
▪ i=RegisterTCPServer (200, ServerTCPCB, 0) ; ▪ 回调函数:int (*tcpFuncPtr) (unsigned handle, int xType,
▪ int UnregisterTCPServer (unsigned int Port_Number);
▪ int ServerTCPRead (unsigned int Conversation_Handle, void *Data_Buffer, unsigned int Data_Size, unsigned int Time_Out);
▪ int ConnectToTCPServer (unsigned int *Conversation_Handle, unsigned int Port_Number, char Server_Host_Name[], tcpFuncPtr Callback_Function, void *Callback_Data, unsigned int Time_Out);
int errCode, void *callbackData); • TCP_CONNECT • TCP_DISCONNECT • TCP_DATAREADY
▪ int CVICALLBACK ServerTCPCB (unsigned handle, int event, int error, void *callbackData);
▪ notifyCount = 50; // Wait for at least 50 bytes in queue eventChar = 13; // Wait for LF eventMask = LWRS_RXFLAG | LWRS_RECEIVE; InstallComCallback (comport, eventMask, notifyCount, eventChar, ComCallbackFunction, NULL);
相关文档
最新文档