|
本帖最后由 didadida 于 2013-7-30 21:22 编辑
首先说明,我还没来得及将它用于实际的pid调试中,但是功能已经差不多了。还有,这个东西说白了就是把单片机发来的数据绘制成曲线(从右往左移动),不是帮你整定参数那种高端的软件,呵呵~
功能:
1.将单片机发来的数据(格式为 百位+十位+个位+回车换行,比如发送数据'3','2','1','\r\n',则合起来为321)绘制成曲线
2.可以通过输入参数实现曲线的横向压缩和扩展显示
3.可以通过输入参数实现曲线的纵向压缩和扩展显示
4.可以通过输入参数设定目标值用于参照
5.可以通过输入参数调整曲线移动速度
6.可以自动识别串口
由于对Qt学到的只是皮毛,而且这个东西是在qwt自带的一个例程上修改得来的,很多东西不能随心所欲的弄(就是不会呗...),so
存在缺点:
1.曲线的显示不是实时的,采取的折中方式为先采样一定的时间(或者说缓存一部分数据),然后集中送显示(这也是能调节移动速度的原因,呵呵)
原因是我调试很长时间也没能实现单个数据的实时抓取和显示(比如抓取到数据'3','2','1','\r\n',则合起来为321),对Qt的语法理解的不够透彻吧
个人建议必要的时候可以增加采样时间(最长20s),也就是使关心的时间段内的数据不被丢掉...
2.不能灵活的改变波特率,程序中使用波特率为115200
原因是官方的例程完全是用代码写成的,没有ui设计部分,更没有串口部分,所以移花接木有一定的难度。好在还算实现了“自动”识别串口功能,因为我不知道怎么用语句加上选择串口的界面...汗
3.查了N多资料也没有解决32位系统的兼容问题。我电脑是win7 64位,然后在win7 32位系统(包括xp)上不能正常使用...这算是最大的败笔了吧,希望有大神帮我解决一下啊
最后,请大神们勿喷,本菜也是改了好几天才做成了这个样子...期待改进(虽然不忍心,但是缺点还是需要正视的)
最后的最后,也是关键的关键,上图!
作为演示,由单片机产生0-300的随机数
软件界面1
软件界面2
调整target value
纵向扩展
纵向收缩
横向扩展
横向收缩
最后吐槽一句,现在Qt尤其是Qwt的资料实在是太少了......
软件(仅限64位,无奈了)
代码 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|