今天进行DBC文件的读取,ui界面如下
1、先新建singal类
.h
2、新建message类
.h
3、新建个处理DBC的类
.h
4、编写DBC读取函数
- bool DbcAnalysisModel::GetList(QString filename)
- {
- QFile file(filename);
-
- file.open(QIODevice::ReadOnly|QIODevice::Text);
-
- MsgList.clear();
-
- while(!file.atEnd())
- {
- QByteArray line = file.readLine();
- QString str1 = QTextCodec::codecForName("GBK")->toUnicode(line);
-
- // qDebug()
-
- if (str1.mid(0, 4) == "BO_ ")
- {
- QStringList strs1 = str1.trimmed().split(" ");
- DbcMessageBase fdb;
-
- fdb.Can.Id = strs1[1].toULong() & 0x1FFFFFFF;
- if (fdb.Can.Id > 0x7FF)
- fdb.Can.IsExtendFrame = true;
-
- fdb.Name = strs1[2].mid(0, strs1[2].length() - 1);
- //fdb.SendCycle = 0;
-
- if (strs1[strs1.length() - 1] != "Vector__XXX")
- {
- fdb.SendNodeName = strs1[strs1.length() - 1];
- }
-
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!