📄 sample12_2.c
字号:
#include <utility.h>#include <ansi_c.h>#include <rs232.h>#include <cvirte.h> /* Needed if linking in external compiler; harmless otherwise */#include <userint.h>#include "sample12_2.h"#include <visa.h>static int panelHandle;ViSession vm,vi;char buf[256];void CVICALLBACK RSCallbackF (int portNo,int eventMask, void *callbackData){ int i=0; double temp=31.5,pressure=10515.0; if(eventMask== LWRS_RXFLAG) { ComRdTerm (1, buf, 15, '\010'); while(buf[i]!='?') i++; buf[i+1]='\0'; if(strcmp(buf,"*TEMPRETURE?")==0) sprintf(buf,"%10.3f\n",temp); if(strcmp(buf,"*PRESSURE?")==0) sprintf(buf,"%10.3f\n",pressure); if(strcmp(buf,"*IDN?")==0) strcpy(buf,"RS232\n") ; ComWrt (1, buf, strlen(buf)); }};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, "sample12_2.uir", PANEL)) < 0) return -1; DisplayPanel (panelHandle); RunUserInterface (); CloseCom (1); return 0;}int CVICALLBACK Start (int panel, int control, int event, void *callbackData, int eventData1, int eventData2){ int poweron; switch (event) { case EVENT_COMMIT: GetCtrlVal (panelHandle, PANEL_TOGGLEBUTTON, &poweron); if(poweron) { OpenComConfig (1, "COM2", 9600, 0, 8, 1, 512, 512); SetComTime (1, 1.0); InstallComCallback (1, LWRS_RXFLAG, 1, '*',RSCallbackF, 0); } else { InstallComCallback (1, LWRS_RXFLAG, 1, '*', 0, 0); CloseCom (1); } 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;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -