• 大小: 104KB
    文件类型: .7z
    金币: 1
    下载: 0 次
    发布日期: 2021-05-23
  • 语言: 其他
  • 标签: labwiondows  uart  

资源简介

lawwindows的串口源码,这是我写的第一个上位机程序,参考大神的代码。希望能对大家有所帮助。另外说一些我对喇叭Windows的理解吧,其实不难的,就是对各种API的调用而已,把这些熟悉了,自己就可以写了。

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include 
#include “rs.h“

static int panelHandle;

int comSelect=0;
int status;
char info[513];

int CVIFUNC Dimobject(int stat)
{
SetCtrlAttribute(panelHandlePANEL_COMSELECTATTR_DIMMEDstat);
SetCtrlAttribute(panelHandlePANEL_BTLSELECTATTR_DIMMEDstat); 
SetCtrlAttribute(panelHandlePANEL_JYSELECTATTR_DIMMEDstat); 
SetCtrlAttribute(panelHandlePANEL_LONGSELECTATTR_DIMMEDstat); 
SetCtrlAttribute(panelHandlePANEL_STOPSELECTATTR_DIMMEDstat); 
SetCtrlAttribute(panelHandlePANEL_OPEN_COMATTR_DIMMEDstat); 
SetCtrlAttribute(panelHandlePANEL_CLOSE_COMATTR_DIMMED!stat); 
SetCtrlAttribute(panelHandlePANEL_SENDATTR_DIMMED!stat);               
SetCtrlAttribute(panelHandlePANEL_CLEARSENDATTR_DIMMED!stat);               
SetCtrlAttribute(panelHandlePANEL_RECIEVEATTR_DIMMED!stat);               
SetCtrlAttribute(panelHandlePANEL_CLEARRECIVEATTR_DIMMED!stat);               



return 0;
}

int main (int argc char *argv[])
{
if (InitCVIRTE (0 argv 0) == 0)
return -1; /* out of memory */
if ((panelHandle = LoadPanel (0 “rs.uir“ PANEL)) < 0)
return -1;
DisplayPanel (panelHandle);
RunUserInterface ();
DiscardPanel (panelHandle);
return 0;
}

int CVICALLBACK MainCallBack(int panelint eventvoid* callbackDataint eventData1int evetData2)
{
  switch(event)
  {
  case EVENT_GOT_FOCUS:
  break;
  
  case EVENT_LOST_FOCUS:
  
  break;
  case EVENT_CLOSE:
  
  QuitUserInterface(0);
  
  break;
  
  }
  return 0;
}

int CVICALLBACK ComeOpen (int panel int control int event
  void *callbackData int eventData1 int eventData2)
{
int comValuebtlValuejhValuelongValuestopValue;

char  v[100];
switch (event)
{
case EVENT_COMMIT:

GetCtrlVal(PANELPANEL_COMSELECT&comValue);
GetCtrlVal(PANELPANEL_BTLSELECT&btlValue);
GetCtrlVal(PANELPANEL_JYSELECT&jhValue);    
GetCtrlVal(PANELPANEL_LONGSELECT&longValue);    
GetCtrlVal(PANELPANEL_STOPSELECT&stopValue);    

status=OpenComConfig(comValue““btlValuejhValuelongValuestopValue512512);

//sprintf(v“=%d“status);
//SetCtrlVal(panelHandlePANEL_Valuev);

if(status!=0)
{
MessagePopup(“Error““config open failed“);
return 0;
}

SetCTSMode(comValueLWRS_HWHANDSHAKE_OFF);
FlushInQ(comValue);
FlushOutQ(comValue);
comSelect=comValue;
Dimobject(1);

break;

}
return 0;
}

int CVICALLBACK ComeClose (int panel int control int event
   void *callbackData int eventData1 int eventData2)
{
switch (event)
{
case EVENT_COMMIT:

CloseCom(comSelect);
comSelect=0;
Dimobject(0);

break;
}
return 0;
}

int CVICALLBACK Quit (int panel int control int event
  void *callbackData int eventData1 int eventData2)
{
switch (e

评论

共有 条评论