VS2015+QtPackage版本1.3.11插件+QT5.13.1
最近使用串口遇到一些问题
1、问题:在上述编译环境下发生数据会出现发送一次数据后无法重复发送数据,返回值也没有问题
查询得知:
QByteArray SendBytes((char*)data, len);
int sum = CurrentPort->write(SendBytes);//发生数据
CurrentPort->waitForBytesWritten();//这个就是一个等待写入完成
同时这个这个问题在将代码迁移到新的系统和编译器后,也出现过类型的问题,也需要将后面这句加上就解决流
2、问题:DirectWrite: CreateFontFaceFromHDC() failed (指示输入文件 (例如字体文件) 中的错误。) for QFontDef(Family="Fixedsys", pointsize=9.75, pixelsize=16, styleHint=5, weight=50, stretch=100, hintingPreference=0) LOGFONT("Fixedsys", lfWidth=0, lfHeight=-16) dpi=192
出现这个问题的原因我查的是,因为发送的数据包含特殊字符,比如一些ASCII码表参数小于32的数据,在低版本的Qt中是存在这个问题的,
解决办法:要么将小于32的特殊字符用其它的代替要么更新版本,或者使用1的方式一样在发生数据的后面增加CurrentPort->waitForBytesWritten();我这边发现也能解决这个问题