Arduin0 发表于 2014-3-10 19:50:03

C++版本arduloader工具可以用了~

本帖最后由 Arduin0 于 2014-3-12 15:17 编辑

使用Qt编写
首次运行会要求用户选择已安装的avrdude工具所在目录(要求包含avrdude.exe和avrdude.conf两个文件),如图1:

如果用户选择的路径下没有可执行的avrdude程序,则会报错,如图2:

选择好avrdude工具路径后即可进行hex文件烧写,如图3:


烧写的hex、串口、开发板型号和已选择的avr工具路径会被保存到arduloader.cfg文件中,如图4


欢迎下载试用。

使用第三方的QextSerialPort类,可以方便的获取计算上可用的串口列表~
(代码这里没有处理Linux和Mac下的情况,用户只需要arduloader.cfg中手动配置想要的设备文件名即可,比如:
lastport=/dev/ttyUSB0,arduloader有意不检查配置文件中的设备是否可用~)
/**
* 获取可用的串口列表(使用第三方的QextSerialPort类)
* 返回指向局部static变量的QStringList引用
*/
QStringList & ComPortMgr::getAvailableComPorts()
{
    static QStringList availablePorts;
    const int MAX_COM_PORT = 256;
    QString testPortName;
    QextSerialPort testPort;

    testPort.setBaudRate(BAUD9600);
    testPort.setFlowControl(FLOW_OFF);
    testPort.setParity(PAR_NONE);
    testPort.setDataBits(DATA_8);
    testPort.setStopBits(STOP_1);

    for (int i = 1; i < MAX_COM_PORT; i++) {
      testPortName = QString("COM%1").arg(i);
      testPort.setPortName(testPortName);
      if (testPort.open(QIODevice::ReadWrite)) {
            availablePorts.append(testPortName);
            testPort.close();
      }
    }

    return availablePorts;
}

shenhaiyu 发表于 2014-3-12 17:00:22

太给力了,感谢分享~~~~~~~~
页: [1]
查看完整版本: C++版本arduloader工具可以用了~