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;
} 太给力了,感谢分享~~~~~~~~
页:
[1]