📄 test.c
字号:
#include <utility.h>
#include <ansi_c.h>
#include <rs232.h>
#include <formatio.h>
#include <cvirte.h>
#include <userint.h>
#include "test.h"
static int panelHandle;
void CVICALLBACK Event_COM2ReceiveChar(int portnum,int eventMask,void *callbackData);
int main (int argc, char *argv[])
{
if (InitCVIRTE (0, argv, 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0, "test.uir", PANEL)) < 0)
return -1;
DisplayPanel (panelHandle);
RunUserInterface ();
DiscardPanel (panelHandle);
return 0;
}
int CVICALLBACK PanelCallback (int panel, int event, void *callbackData,
int eventData1, int eventData2)
{
switch (event)
{
case EVENT_GOT_FOCUS:
break;
case EVENT_LOST_FOCUS:
break;
case EVENT_CLOSE:
CloseCom(1);
CloseCom(2);
QuitUserInterface (0);
break;
}
return 0;
}
int CVICALLBACK ConfigCallback (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{ int status;
switch (event)
{
case EVENT_COMMIT:
status=OpenComConfig(1,"COM1",1200,0,7,1,0,0);
SetCTSMode(1,LWRS_HWHANDSHAKE_OFF);
SetComTime(1,5.0);
if(status!=0)
{ MessagePopup("Error","COM1 Config failed!");
return 0;
}
status=OpenComConfig(2,"COM2",1200,0,7,1,0,0);
SetCTSMode(1,LWRS_HWHANDSHAKE_OFF);
SetComTime(1,5.0);
if(status!=0)
{ MessagePopup("Error","COM2 Config failed!");
return 0;
}
/*
InstallComCallback(2,LWRS_RXCHAR,8,13,Event_COM2ReceiveChar,0);
FlushOutQ(1);
FlushInQ(1);
FlushOutQ(2);
FlushInQ(2);
*/
SetCtrlAttribute(panelHandle,PANEL_SEND,ATTR_DIMMED,0);
break;
}
return 0;
}
int CVICALLBACK SendCallback (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{ // unsigned char Frame[14]={0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x0a,0x0b,0x0c,0x0d};
char Frame[14]="bbktel20051103";
int status;
char ReadBuffer[256];
int datalen;
switch (event)
{
case EVENT_COMMIT:
DefaultCtrl(panelHandle,PANEL_Message);
status=ComWrt(1,Frame,14);
if(status!=14)
{MessagePopup("Error","Send Data failed!");
return 0;
}
Delay(2.0);
datalen=GetInQLen(1);
status = ComRd (1, ReadBuffer,datalen);
if(status!=14)
{MessagePopup("Error","Read Data failed!");
return 0;
}
else
{
SetCtrlVal(panelHandle,PANEL_Message,ReadBuffer);
MessagePopup("OK","COM1 Test Successful!");
}
break;
}
return 0;
}
void CVICALLBACK Event_COM2ReceiveChar(int portnum,int eventMask,void *callbackData)
{ int datalen;
int status;
unsigned char receivechar[14];
unsigned char message[100];
unsigned char ch[1]={0};
unsigned char tempreceive[3]={0,0,0};
datalen=GetInQLen(2);
ComRd(2,receivechar,datalen);
ch[0]=datalen;
Fmt(tempreceive,"%s<%x",ch[0]);
memset(message,0,100);
strcat(message,"收到");
strcat(message,tempreceive);
strcat(message,"个字节");
MessagePopup("提示",message);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -