• 大小: 5.53MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-26
  • 语言: 其他
  • 标签: 串口通信  

资源简介

简单的串口通信,实现了基本的功能:收发16进制,自动发送,清除接收框等 另附有串口助手与虚拟串口软件

资源截图

代码片段和文件信息

#include “datadeal.h“
#include 

//将1-9 a-f字符转化为对应的整数
 char ConvertHexChar(char ch)
    {
        if((ch >= ‘0‘) && (ch <= ‘9‘))
            return ch-0x30;
        else if((ch >= ‘A‘) && (ch <= ‘F‘))
            return ch-‘A‘+10;
        else if((ch >= ‘a‘) && (ch <= ‘f‘))
            return ch-‘a‘+10;
        else return (-1);
    }
//将字符型进制转化为16进制
 QByteArray QString2Hex(QString str)
    {
        QByteArray senddata;
        int hexdatalowhexdata;
        int hexdatalen = 0;
        int len = str.length();
        senddata.resize(len/2);
        char lstrhstr;
        for(int i=0; i        {
            hstr=str[i].toLatin1();   //字符型
            if(hstr == ‘ ‘)
            {
                i++;
                continue;
            }
            i++;
            if(i >= len)
                break;
            lstr = str[i].toLatin1();
            hexdata = ConvertHexChar(hstr);
            lowhexdata = ConvertHexChar(lstr);
            if((hexdata == 16) || (lowhexdata == 16))
                break;
            else
                hexdata = hexdata*16+lowhexdata;
            i++;
            senddata[hexdatalen] = (char)hexdata;
            hexdatalen++;
        }
        senddata.resize(hexdatalen);
        return senddata;
    }

//将接收的一串QByteArray类型的16进制转化为对应的字符串16进制
 QString ShowHex(QByteArray str)
 {

     QDataStream out(&strQIODevice::ReadWrite);   //将str的数据 读到out里面去
     QString buf;
     while(!out.atEnd())
     {
           qint8 outChar = 0;
           out >> outChar;   //每次一个字节的填充到 outchar
           QString str = QString(“%1“).arg(outChar&0xFF216QLatin1Char(‘0‘)).toUpper() + QString(“ “);   //2 字符宽度

           buf += str;
     }
     return buf;
 }

//将接收的一串QByteArray类型的16进制每2个16进制转化为1个字的16进制的字符串
 QString Convert4Hex(QByteArray str)
 {

     QDataStream out(&strQIODevice::ReadWrite);   //将str的数据 读到out里面去
     QString buf;
     while(!out.atEnd())
     {
           qint16 outChar = 0;
           out>>outChar;   //每次一个字节的填充到 outchar
           QString str = QString(“%1“).arg(outChar&0xFFFF416QLatin1Char(‘0‘)).toUpper() + QString(“ “);   //2 字符宽度

           buf += str;
     }
     return buf;
 }











 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件         34  2013-11-27 17:20  config.ini

     文件    2142208  2013-11-28 16:53  SerialDebug.exe

     文件       1794  2012-09-21 13:40  使用说明.txt

     文件        191  2012-09-21 13:40  当下软件园.url

----------- ---------  ---------- -----  ----

              2144227                    4


评论

共有 条评论