读取线损的方式

该篇博客介绍了在射频产品测试中如何使用INI文件存储和读取线损数据,以确保准确测试功率输出。文章详细展示了写入和读取INI文件的C++代码示例,并提到这种存储方式具有快速和便捷的特点,特别适用于查表式的频率线损数据查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        在射频产品测试领域中,使用仪器测试的时候需要测试出射频线缆的线损,然后才能正真的测试出当前射频产品的功率输出。

        在每一次实际产品测试中会去调用存放已经写号完成的线损数据,一般是将线损数据存放在本地文件或者数组里面。

        存放在本地文件一般有四种方式:INI、TXT、数据库、Excel,其中INI文件读取的方式最快,且相对来说比较方便。

写入INI文件的方式:

void MainWindow::Create_Write_Ini(int Num, double PealGL)
{
//    QString fileName = QCoreApplication::applicationDirPath() + "./Ini/Config.ini";//文件的路径
//    QSettings configIni (fileName, QSettings::IniFormat);
//    configIni.setIniCodec("UTF8");
//    QString Path = "Power/"+QString::number(Num);
//    configIni.setValue(Path,PealGL);
//    Path = Path.left(6); //可以用left right mid 三个函数进行字符串的截取
    QDir tempDir;
    QString currentDir = tempDir.currentPath();
    tempDir.mkpath("./Ini/");//在release 的上一级创建文件夹
    QString fileName = currentDir + "/Ini/Config.ini";//文件的路径
    QSettings configIni (fileName, QSettings::IniFormat);
    configIni.setIniCodec("UTF8");
    QString Path = "Power/"+QString::number(Num);
    configIni.setValue(Path,PealGL);
    Path = Path.left(6); //可以用left right mid 三个函数进行字符串的截取
}
void MainWindow::Create_Write_Ini_UpGrade(int Fren_MHz, double PealGL,QString Name_Start)
{
    QDir tempDir;
    QString currentDir = tempDir.currentPath();
    tempDir.mkpath("./InI/");//在release 的上一级创建文件夹
    QString fileName = currentDir + "/InI/Config.ini";//文件的路径
    QSettings configIni (fileName, QSettings::IniFormat);
    configIni.setIniCodec("UTF8");
    QString Path = Name_Start+"/"+QString::number(Fren_MHz);
    configIni.setValue(Path,PealGL);
    int Lenth = Name_Start.length()+1;
    Path = Path.left(Lenth); //可以用left right mid 三个函数进行字符串的截取
}

读取INI的方式:

QString MainWindow::Create_Read_Ini(int NumInT)
{
//    QString Num;
//    QString fileName = QCoreApplication::applicationDirPath() + "./Ini/Config.ini";//文件的路径
//    QSettings configIni (fileName, QSettings::IniFormat);
//    configIni.setIniCodec("UTF8");
//    QString Path = "Power/"+QString::number(NumInT);
//    Num = configIni.value(Path).toString();
//    Path = Path.left(6);
//    return Num;
    QDir tempDir;
    QString currentDir = tempDir.currentPath();
    tempDir.mkpath("./Ini/");//在release 的上一级创建文件夹
    QString Num;
    QString fileName = currentDir + "/Ini/Config.ini";//文件的路径
    QSettings configIni (fileName, QSettings::IniFormat);
    configIni.setIniCodec("UTF8");
    QString Path = "Power/"+QString::number(NumInT);
    Num = configIni.value(Path).toString();
    Path = Path.left(6);
    return Num;
}
QString MainWindow::Create_Read_Ini_UpGrade(int Fren_MHz,QString Name_Start)
{
    QDir tempDir;
    QString currentDir = tempDir.currentPath();
    tempDir.mkpath("./InI/");//在release 的上一级创建文件夹
    QString Num;int Lenth;
    QString fileName = currentDir + "/InI/Config.ini";//文件的路径
    QSettings configIni (fileName, QSettings::IniFormat);
    configIni.setIniCodec("UTF8");
    QString Path = Name_Start+"/"+QString::number(Fren_MHz);
    Num = configIni.value(Path).toString();
    Lenth = Name_Start.length()+1;
    Path = Path.left(Lenth);
    return Num;
}

带UpGrade的需要注意的是,这样在测试的时候可以采取查表的方式来任意的读取频率下的线损【通过设置步进Step来循环查】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gallagher_SF

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值