📄 sample5.c
字号:
#include <rs232.h>
#include <ansi_c.h>
#include <cvirte.h> /* Needed if linking in external compiler; harmless otherwise */
#include <userint.h>
#include <formatio.h>
#include "sample5.h"
static int panelHandle;
int comselect;
int status;
char info[20],readBuf[20];
int main (int argc, char *argv[])
{
if (InitCVIRTE (0, argv, 0) == 0) /* Needed if linking in external compiler; harmless otherwise */
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0, "sample5.uir", PANEL)) < 0)
return -1;
DisplayPanel (panelHandle);
RunUserInterface ();
return 0;
}
int CVICALLBACK Send (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
int btlselect,jhselect,longselect,stopselect;
int comvalue,btlvalue,jhvalue,longvalue,stopvalue;
switch (event)
{
case EVENT_COMMIT:
//选择串行口
GetCtrlVal(PANEL,PANEL_COMSELECT,&comvalue);
switch(comvalue)
{
case 1:
comselect=1;
break;
case 2:
comselect=2;
break;
}
//选择波特率
GetCtrlVal(PANEL,PANEL_BTLSELECT,&btlvalue);
switch(btlvalue)
{
case 1:
btlselect=1200;
break;
case 2:
btlselect=2400;
break;
case 3:
btlselect=4800;
break;
case 4:
btlselect=9600;
break;
case 5:
btlselect=19200;
break;
}
//选择奇偶校验模式
GetCtrlVal(PANEL,PANEL_JYSELECT,&jhvalue);
switch(jhvalue)
{
case 1:
jhselect=0;
break;
case 2:
jhselect=1;
break;
case 3:
jhselect=2;
break;
}
//选择数据位长度
GetCtrlVal(PANEL,PANEL_LONGSELECT,&longvalue);
switch(longvalue)
{
case 1:
longselect=7;
break;
case 2:
longselect=8;
break;
case 3:
longselect=9;
break;
}
//选择停止位
GetCtrlVal(PANEL,PANEL_STOPSELECT,&stopvalue);
switch(stopvalue)
{
case 1:
stopselect=1;
break;
case 2:
stopselect=2;
break;
}
//设置和打开串行口
status=OpenComConfig(comselect,"",btlselect,jhselect,longselect,stopselect,512,512);
if(status!=0)
{
MessagePopup("Error","config failed!");
return 0;
}
SetCTSMode(comselect,LWRS_HWHANDSHAKE_OFF);
//清空输入和输出缓冲区
FlushInQ(comselect);
FlushOutQ(comselect);
//获取发送信息文本
GetCtrlVal(PANEL,PANEL_SENDTEXT,info);
//发送
status=ComWrt(comselect,info,strlen(info));
if(status!=strlen(info))
MessagePopup("Error","Send data failed!");
break;
}
return 0;
}
int CVICALLBACK Recieve (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
//接收
status=ComRd(comselect,readBuf,strlen(info));
if(status!=strlen(info))
{
MessagePopup("Error","Read data failed!");
break;
}
//将接收信息写入文本框
SetCtrlVal(PANEL,PANEL_RECIVETEXT,readBuf);
SetActiveCtrl(PANEL,PANEL_RECIVETEXT);
break;
}
return 0;
}
int CVICALLBACK Quit (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
QuitUserInterface (0);
break;
}
return 0;
}
int CVICALLBACK Clearsend (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
//清空发送文本框
ResetTextBox(PANEL,PANEL_SENDTEXT,"\0");
break;
}
return 0;
}
int CVICALLBACK Clearrecive (int panel, int control, int event,
void *callbackData, int eventData1, int eventData2)
{
switch (event)
{
case EVENT_COMMIT:
//清空接收文本框
ResetTextBox(PANEL,PANEL_RECIVETEXT,"\0");
break;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -