当前位置: 首页 > news >正文

百度搜索不到我的网站做网站赚钱有哪些途径

百度搜索不到我的网站,做网站赚钱有哪些途径,广告联盟app下载,搜狗推广助手基于Labwindows CVI 2017编写的一个简单的串口调试助手&#xff0c;附带接收一个00–99的两位数并进行波形绘制的功能&#xff0c;编写过程可见&#xff1a;https://blog.csdn.net/Stark_/article/details/129003839 #include <ansi_c.h> #include <rs232.h> #incl…

基于Labwindows CVI 2017编写的一个简单的串口调试助手,附带接收一个00–99的两位数并进行波形绘制的功能,编写过程可见:https://blog.csdn.net/Stark_/article/details/129003839

#include <ansi_c.h>
#include <rs232.h>
#include <cvirte.h>        
#include <userint.h>
#include "SerialDebug.h"

#define MAX_BUF_NUM 512

static int panelHandle;       //主界面句柄

int comSelect = 0;   //串口号
int status;
int ComState = 0;  //串口开关状态
char info[MAX_BUF_NUM+1]; //串口数据缓冲区
//设置页面控件状态,stat = 0表示关闭,1表示打开
//SetCtrlAttribute(,,ATTR_DIMMED,)将对应控件属性变暗和变亮,以禁用和使用对应控件
int CVIFUNC DimObject(int stat)
{
    SetCtrlAttribute(panelHandle,PANEL_COMSELECT,ATTR_DIMMED,stat); //串口号选择 
    SetCtrlAttribute(panelHandle,PANEL_BAUDSELECT,ATTR_DIMMED,stat); //波特率
    SetCtrlAttribute(panelHandle,PANEL_CHECKSELECT,ATTR_DIMMED,stat);//校验位
    SetCtrlAttribute(panelHandle,PANEL_LONGSELECT,ATTR_DIMMED,stat); //数据位
    SetCtrlAttribute(panelHandle,PANEL_STOPSELECT,ATTR_DIMMED,stat);//停止位
    SetCtrlAttribute(panelHandle,PANEL_OPEN_COM,ATTR_DIMMED,stat);  //打开串口
    
    SetCtrlVal(panelHandle,PANEL_LED,stat);   //LED 
    
    SetCtrlAttribute(panelHandle,PANEL_CLOSE_COM,ATTR_DIMMED,!stat); //关闭串口
    SetCtrlAttribute(panelHandle,PANEL_SEND,ATTR_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, "SerialDebug.uir", PANEL)) < 0)
        return -1;
    DimObject(0);
    DisplayPanel (panelHandle);
    RunUserInterface ();
    DiscardPanel (panelHandle);
    return 0;
}

int CVICALLBACK PanelMain (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:
                QuitUserInterface (0);//关闭面板0(主面板)
            break;
    }
    return 0;
}

int CVICALLBACK ComOpen (int panel, int control, int event,
                         void *callbackData, int eventData1, int eventData2)
{
    int comValue,baudValue,checkValue,longValue,stopValue; 
    switch (event)
    {
        case EVENT_COMMIT:
                GetCtrlVal(panelHandle,PANEL_COMSELECT,&comValue); //获取串口号
                GetCtrlVal(panelHandle,PANEL_BAUDSELECT,&baudValue); //获取波特率 
                GetCtrlVal(panelHandle,PANEL_CHECKSELECT,&checkValue);//获取校验位
                GetCtrlVal(panelHandle,PANEL_LONGSELECT,&longValue);//获取数据位
                GetCtrlVal(panelHandle,PANEL_STOPSELECT,&stopValue);//获取停止位
                //设置和打开串口
                status = OpenComConfig(comValue,"",baudValue,checkValue,longValue,stopValue,MAX_BUF_NUM,MAX_BUF_NUM);
                if(status!=0)
                {
                    MessagePopup("Error","config failed!");   //弹窗提示
                    ComState = 0;
                    return 0;
                }
                SetCTSMode(comValue,LWRS_HWHANDSHAKE_OFF); /* 禁止硬件握手,即不用RTS/CTS和DTR/DSR */
                FlushInQ(comValue);   //清空输入队列的缓存数据
                FlushOutQ(comValue);  //清空输出队列的缓存数据
                comSelect = comValue;
                DimObject(1);
                ComState = 1;  //串口开启状态
            break;
    }
    return 0;
}

int CVICALLBACK ClearTextBox (int panel, int control, int event,
                              void *callbackData, int eventData1, int eventData2)
{
    switch (event)
    {
        case EVENT_COMMIT:
                if(control == PANEL_CLEARRECEIVE)//清除接收控件
                    ResetTextBox(panelHandle,PANEL_RECEIVETEXT,"\0");//清除接收框
                else
                    ResetTextBox(panelHandle,PANEL_SENDTEXT,"\0");//清除发送框
            break;
    }
    return 0;
}

int CVICALLBACK Send (int panel, int control, int event,
                      void *callbackData, int eventData1, int eventData2)
{
    switch (event)
    {
        case EVENT_COMMIT:
                if(!comSelect) return -1; //发送出错
                GetCtrlVal(panelHandle,PANEL_SENDTEXT,info);//获取要发送的文本
                status = ComWrt(comSelect,info,strlen(info));//发送
                if(status != strlen(info))
                    MessagePopup("Error","Send data failed!");  //弹窗提示
            break;
    }
    return 0;
}

int CVICALLBACK Timer (int panel, int control, int event,
                       void *callbackData, int eventData1, int eventData2)
{
    int i = 0;
    int len = 0;
    double point = 0;
    
    switch (event)
    {
        case EVENT_TIMER_TICK:
                if(ComState)
                {
                    if(!comSelect) return -1;
                    SetComTime(comSelect,1); //设置一帧数据的接收超时时间为1s
                    len = GetInQLen(comSelect);
                    status = ComRd(comSelect,info,len);//接收,GetInQLen用于得到Com口的输入队列数据缓存的大小
                    if(status<=0)
                    {
                        //MessagePopup("Error","Read data failed!");   //弹窗提醒没有读取到信息
                        break;
                    }
                    //将信息写入接收框
                    info[status] = '\0';
                    SetCtrlVal(panelHandle,PANEL_RECEIVETEXT,info); //设置接收文本框显示info的内容
                    SetActiveCtrl(panelHandle,PANEL_RECEIVETEXT);    
                    
                    if((len == 2)||(info[2] == 0x0D))  //收到两个字符,或者第三个字符是回车
                    {
                        point = (info[0]-48)*10 + (info[1]-48);   //接收一个两位数,比如 01、09、10、90、AB
                        if((point>=0)&&(point<=99))//判定这个两位数属于00-99之间
                        {
                            PlotStripChartPoint(panelHandle,PANEL_WAVE_DISPLAY,point);    //对于在范围内的数据进行绘制点
                        }
                    }
                    
                    for(0;i<len;i++)
                    {
                        info[i]=0;
                        i++;
                    }
                }
            break;
    }
    return 0;
}

int CVICALLBACK ComClose (int panel, int control, int event,
                          void *callbackData, int eventData1, int eventData2)
{
    switch (event)
    {
        case EVENT_COMMIT:
               CloseCom(comSelect);        //关闭串口
               comSelect = 0;
               DimObject(0);
               ComState = 0; 
            break;
        case EVENT_TIMER_TICK:

            break;
    }
    return 0;
}

http://www.yayakq.cn/news/757233/

相关文章:

  • 传奇网站怎么制作教程网站运营预期效果
  • 房子在线设计平台网站seo哪家好
  • 漳州网站建设公司推荐谷歌推广优化
  • 在哪里学做网站免费发布招聘的网站
  • 平面设计师上的网站上海百度推广官网
  • wordpress编辑网站的链接是中文百度推广app下载
  • 青岛金桥建设机械有限公司网站顺德网站建设公司信息
  • wordpress炫酷插件9个广州seo推广神技
  • vs和dw做网站的区别织梦修改网站源代码
  • 做网站时候如果添加微信代码深圳网站制作880
  • 商城网站 html模板佛山免费建站找哪家
  • 网站建设发展好不好做网页的心得体会
  • wordpress微信个人支付白城seo
  • 前程无忧做简历网站厦门手机网站建设是什么意思
  • 做网站大概要多少钱今天西安最新通知
  • 英文网站建设cms黑龙江省建设厅网站首页
  • 电子商务企业网站设计江苏网站建设流程
  • c 转网站开发梁志天设计公司官网首页
  • 飞沐网站建设微商城开发用华网天下北京
  • 商业网站推荐如何设计网站
  • 宣传型网站有哪些网站建设方案书 icp备案
  • 扬中网站定制做外贸网站渠道
  • 湖北黄石网站建设水果电商网站建设相关文献
  • 好看的公司网站排版设计如何注册一家公司方法步骤
  • wordpress网站文章排版插件中国建设网官方
  • 泰安市住房和城乡建设局网站网站指向邮箱超链接怎么做
  • 怎样做类似淘宝的网站定制网站的好处有哪些
  • 哪里有网站建设联系方式dz论坛怎么做视频网站吗
  • 茶叶网站建设策划书ppt北京建设银行网站理财产品
  • 网站防红链接怎么做新手如何做外贸生意