亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? serialthread.cpp

?? 基于qt的串口多線程編程
?? CPP
字號:
#include <sys/types.h>     #include <sys/stat.h>     #include <fcntl.h>     #include <termios.h>     #include <stdio.h>  #include "my_define.h"#include "serialthread.h"#include "mainwindow.h"   int set_nc_mode(int fd){    struct termios options;    if  ( tcgetattr( fd,&options)  !=  0){          perror("SetupSerial 1");          return(FALSE);      } /* get current port settings */      bzero(&options, sizeof(options));       options.c_cflag |= BAUDRATE | CS8 | CLOCAL | CREAD;     options.c_cflag &= ~CRTSCTS;     options.c_iflag = IGNPAR;       options.c_oflag &=~OPOST;                   //       options.c_lflag = 0;                    options.c_cc[VTIME] = WAIT_TIME;    options.c_cc[VMIN] = BLOCK_SIZE;    /* blocking read until 5 chars received */          tcflush(fd, TCIFLUSH);      tcsetattr(fd,TCSANOW,&options);    return(TRUE);} int set_c_mode(int fd){    struct termios options;    if  ( tcgetattr( fd,&options)  !=  0){          perror("SetupSerial 1");          return(FALSE);      }     bzero(&options, sizeof(options));    tcflush(fd, TCIOFLUSH);    cfsetispeed(&options, BAUDRATE);        cfsetospeed(&options, BAUDRATE);     options.c_cflag |=(CLOCAL|CREAD);     options.c_cflag &= ~CRTSCTS;     options.c_cflag &= ~CSIZE;    options.c_cflag |= CS8;     options.c_cflag &= ~PARENB;   /* Clear parity enable,clear control mode flag */    options.c_iflag &= ~INPCK;     /* Disable parity checking ,*/    options.c_cflag &= ~CSTOPB;     options.c_iflag |= IGNBRK;     options.c_lflag |= ICANON;             options.c_lflag &= ~(ECHO | ECHOE | ISIG);    options.c_oflag &= ~(OPOST);      tcflush(fd, TCIOFLUSH);      if (tcsetattr(fd,TCSANOW,&options) != 0){          perror("SetupSerial 3");        return (FALSE);    }    return(TRUE);}void send_ack(int fd){    char buf[]={'A','C','K',CHANGE_LINE};    write(fd,buf,sizeof(buf));}void resend(int fd){    char buf[]={'R','S','D',CHANGE_LINE};    write(fd,buf,sizeof(buf));}void delay(int i){    int j;    for (;i>0;i--)        for(j=0;j<65535;j++);}  //////////////////////////////////////////////////////////////////////////////////////////// SerialThread::SerialThread(MainWindow *parent){    this->parent = parent;} void SerialThread::run(){     int fd,c, res;         int block_num,last_block;    int i;         char buf[BLOCK_SIZE];                 char file_name[32];    FILE *fp;    struct termios oldtio;     block_num=last_block=0;     fd = open(DEVICE, O_RDWR | O_NOCTTY );          parent->setCounter(fd);    parent->setMsgText("opend device fd::::::");                    if (fd <0){        perror(DEVICE);         parent->setMsgText("open device failed");         //    exit(-1);     }        tcgetattr(fd,&oldtio);    set_nc_mode(fd);    printf("Changed to nc mode\n");    /*    res=read(fd,( char *)file_name,32);    parent->setCounter(res);    parent->setMsgText("res is ::::::");         */ /*          if(res>0){        file_name[res-1]='\0';        printf("Received the file name:%s\n",file_name);        }    else        printf("The received file name is error.\n");     fp=fopen(file_name,"wb");    if(fp==NULL){        printf("Can not creat file %s!\n",file_name);        return;    //    exit(-1);        }    else        {            send_ack(fd);            printf("The file %s is created.\nWaitting for the block num and last block size\n",file_name);        }     //set_nc_mode(fd);    //printf("Changed to nc mode\n");     res=read(fd,buf,4);    printf("res=%d\n",res);    printf("Received the block num \n");     for(i=0,block_num=0;i<4;i++){        block_num=block_num*10+buf[i];        printf("buf[%d]=%x\n",i,buf[i]);        }    printf("The number of blocks is %d\n",block_num);    send_ack(fd);     res=read(fd,buf,3);    printf("res=%d\n",res);    printf("Received the last block size \n");        for(i=0,last_block=0;i<3;i++){                last_block=last_block*10+buf[i];        printf("buf[%d]=%x\n",i,buf[i]);        }         printf("The last block size is %d\n",last_block);    send_ack(fd);          printf("Starting receive blocks\n");     for(i=0;i<block_num;i++){        res=read(fd,buf,BLOCK_SIZE);        if(res!=BLOCK_SIZE){                        printf("res=%d,\t Request resend the %d block\n",res,i);            i--;                tcflush(fd, TCIOFLUSH);            resend(fd);            }        else{                         fwrite(buf,1,BLOCK_SIZE,fp);            printf("Received the %d block,    res=%d\n",i,res);            printf("Send ack signal complete,waiting to read\n");            send_ack(fd);            }    }    printf("start transporting the last block\n");     if(last_block>0){        send_ack(fd);        res=read(fd,buf,last_block);        printf("res=%d\n",res);                if(res!=last_block){            printf("Request resend the last block\n");            tcflush(fd, TCIOFLUSH);                        resend(fd);                        }        else            fwrite(buf,1,last_block,fp);        }    send_ack(fd);    printf("The file transports end\n");     fclose(fp);    printf("close the file\n");    tcsetattr(fd,TCSANOW,&oldtio);    close(fd);    printf("close the serial port\n");    */      }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
1024国产精品| 777午夜精品视频在线播放| 久久久一区二区| 国产老肥熟一区二区三区| 精品久久久久av影院| 狠狠色狠狠色合久久伊人| 久久久精品日韩欧美| 国产高清在线观看免费不卡| 国产亚洲福利社区一区| 北条麻妃一区二区三区| 亚洲黄色av一区| 欧美高清性hdvideosex| 精品一区二区三区的国产在线播放| 欧美成人精品二区三区99精品| 黄页视频在线91| 国产精品毛片高清在线完整版| 色偷偷88欧美精品久久久| 视频一区欧美精品| 国产亲近乱来精品视频| 色一区在线观看| 麻豆精品一区二区| 国产精品久久久久久福利一牛影视 | 国产女主播视频一区二区| 不卡一二三区首页| 亚洲bt欧美bt精品777| 精品少妇一区二区三区在线视频| 国产91高潮流白浆在线麻豆| 亚洲影院久久精品| 国产午夜精品一区二区三区嫩草| 色婷婷香蕉在线一区二区| 美女视频网站久久| 亚洲品质自拍视频| 精品少妇一区二区| 色狠狠综合天天综合综合| 久久精品国产99久久6| 亚洲精品欧美在线| 国产成人亚洲综合a∨猫咪| 欧美探花视频资源| ㊣最新国产の精品bt伙计久久| 97超碰欧美中文字幕| 欧美成人性福生活免费看| 本田岬高潮一区二区三区| 奇米一区二区三区| 中文字幕在线不卡国产视频| 日韩视频一区二区| 日本电影亚洲天堂一区| 国产成人精品三级麻豆| 日韩极品在线观看| 一区二区三区不卡视频| 国产婷婷色一区二区三区在线| 6080午夜不卡| 色久优优欧美色久优优| 成人av电影免费在线播放| 麻豆国产精品视频| 午夜精品久久久久久久99樱桃| 国产精品拍天天在线| 精品区一区二区| 欧美日本视频在线| 一区二区三区精品在线观看| 91理论电影在线观看| 亚洲欧美综合色| 91麻豆精品国产91久久久久久| 亚洲自拍欧美精品| 日韩中文字幕亚洲一区二区va在线| 国产aⅴ综合色| 日韩一级免费观看| 久久影视一区二区| 在线观看av一区二区| 五月激情综合网| 91精品国产免费| 蜜桃一区二区三区四区| 中文字幕一区二区三| 亚洲午夜在线视频| 日韩精品一区在线观看| 久久久综合视频| 一区二区三区欧美久久| 91一区一区三区| 国产一区二区美女诱惑| 国产麻豆精品一区二区| 国产自产高清不卡| 国产在线一区观看| 狠狠色丁香婷婷综合| 色综合久久88色综合天天| 成人ar影院免费观看视频| 豆国产96在线|亚洲| 成人在线综合网| 99久久综合国产精品| 91在线精品一区二区| 91精品福利视频| 欧美久久一区二区| 日韩一区二区三区在线视频| 精品久久久久久综合日本欧美| 精品剧情v国产在线观看在线| 日韩高清国产一区在线| 欧美a一区二区| 国产剧情在线观看一区二区| 肉色丝袜一区二区| 亚洲国产一区在线观看| 婷婷夜色潮精品综合在线| 日韩福利电影在线观看| 久久99久久99精品免视看婷婷 | 人人爽香蕉精品| 久久99精品国产麻豆婷婷| 国产一区二区不卡在线 | 成人精品视频网站| 91麻豆高清视频| 精品视频在线视频| 亚洲精品成人精品456| 亚洲欧美日韩综合aⅴ视频| 亚洲一区在线看| 狠狠色丁香九九婷婷综合五月 | 91丨porny丨户外露出| 欧美熟乱第一页| 精品国产一区二区三区av性色| 国产精品水嫩水嫩| 亚洲mv大片欧洲mv大片精品| 黑人巨大精品欧美一区| 成人性色生活片免费看爆迷你毛片| 91福利视频网站| 精品国产免费人成电影在线观看四季| 国产精品久久久久久久久图文区| 亚洲一区二区四区蜜桃| 国产成人免费视频网站| 欧美三级在线播放| 中文字幕欧美国产| 日韩影院精彩在线| 成av人片一区二区| 日韩欧美亚洲国产另类| 亚洲精品欧美在线| 国产传媒久久文化传媒| 欧美在线不卡视频| 国产丝袜在线精品| 免费在线观看精品| 色婷婷精品久久二区二区蜜臀av| 久久伊人蜜桃av一区二区| 偷窥国产亚洲免费视频| 成人福利在线看| 久久影院午夜片一区| 午夜精品免费在线观看| av不卡在线播放| 国产视频一区在线播放| 奇米影视一区二区三区小说| 欧美性猛交一区二区三区精品| 亚洲国产精品v| 精品一二三四区| 欧美日韩一区二区三区不卡| 亚洲色图制服丝袜| 国产91在线观看| 2024国产精品| 美脚の诱脚舐め脚责91| 欧美喷潮久久久xxxxx| 专区另类欧美日韩| 成人动漫中文字幕| 国产日韩欧美精品一区| 国产在线精品一区二区三区不卡| 精品视频资源站| 一区二区三区在线免费播放| 99久久亚洲一区二区三区青草| 国产无遮挡一区二区三区毛片日本| 日本sm残虐另类| 91精品国产综合久久久久久久久久 | 精品国产不卡一区二区三区| 偷拍日韩校园综合在线| 精品婷婷伊人一区三区三| 亚洲综合成人在线| 91黄色激情网站| 亚洲韩国一区二区三区| 欧美中文字幕一二三区视频| 亚洲一区二区欧美日韩 | 国产精品亚洲综合一区在线观看| 精品久久一区二区三区| 国内精品国产三级国产a久久| 日韩丝袜美女视频| 久久99精品久久只有精品| wwwwww.欧美系列| 蜜桃精品视频在线观看| 国产精品自拍一区| 亚洲夂夂婷婷色拍ww47 | 欧美激情一区二区| 丰满少妇久久久久久久 | 国产乱码精品一区二区三| 精品国产91乱码一区二区三区| 国产专区欧美精品| 中文字幕欧美激情一区| 色婷婷综合久色| 午夜精品福利一区二区蜜股av| 欧美区视频在线观看| 久久精品国内一区二区三区| 欧美精品一区二区久久久| 大胆亚洲人体视频| 一区二区三区四区在线免费观看| 欧美精品三级日韩久久| 久久99精品久久久久| 国产精品色呦呦| 欧美视频一区在线| 久久爱www久久做| 亚洲欧洲美洲综合色网| 精品视频一区二区不卡| 蜜臀va亚洲va欧美va天堂 | 欧美日韩成人高清|